mirror of
https://github.com/scrapy/scrapy.git
synced 2025-02-26 18:23:57 +00:00
Merge pull request #147 from tonal/cfg-jsons
Configure json services members
This commit is contained in:
commit
8b30575dd3
@ -52,3 +52,11 @@ class Config(object):
|
||||
|
||||
def getboolean(self, option, default=None):
|
||||
return self._getany(self.cp.getboolean, option, default)
|
||||
|
||||
def items(self, section, default=None):
|
||||
try:
|
||||
return self.cp.items(section)
|
||||
except (NoSectionError, NoOptionError):
|
||||
if default is not None:
|
||||
return default
|
||||
raise
|
||||
|
@ -12,3 +12,14 @@ debug = off
|
||||
runner = scrapyd.runner
|
||||
application = scrapyd.app.application
|
||||
launcher = scrapyd.launcher.Launcher
|
||||
|
||||
[services]
|
||||
schedule.json = scrapyd.webservice.Schedule
|
||||
cancel.json = scrapyd.webservice.Cancel
|
||||
addversion.json = scrapyd.webservice.AddVersion
|
||||
listprojects.json = scrapyd.webservice.ListProjects
|
||||
listversions.json = scrapyd.webservice.ListVersions
|
||||
listspiders.json = scrapyd.webservice.ListSpiders
|
||||
delproject.json = scrapyd.webservice.DeleteProject
|
||||
delversion.json = scrapyd.webservice.DeleteVersion
|
||||
listjobs.json = scrapyd.webservice.ListJobs
|
||||
|
@ -2,6 +2,9 @@ from datetime import datetime
|
||||
|
||||
from twisted.web import resource, static
|
||||
from twisted.application.service import IServiceCollection
|
||||
|
||||
from scrapy.utils.misc import load_object
|
||||
|
||||
from .interfaces import IPoller, IEggStorage, ISpiderScheduler
|
||||
|
||||
from . import webservice
|
||||
@ -16,18 +19,13 @@ class Root(resource.Resource):
|
||||
itemsdir = config.get('items_dir')
|
||||
self.app = app
|
||||
self.putChild('', Home(self))
|
||||
self.putChild('schedule.json', webservice.Schedule(self))
|
||||
self.putChild('cancel.json', webservice.Cancel(self))
|
||||
self.putChild('addversion.json', webservice.AddVersion(self))
|
||||
self.putChild('listprojects.json', webservice.ListProjects(self))
|
||||
self.putChild('listversions.json', webservice.ListVersions(self))
|
||||
self.putChild('listspiders.json', webservice.ListSpiders(self))
|
||||
self.putChild('delproject.json', webservice.DeleteProject(self))
|
||||
self.putChild('delversion.json', webservice.DeleteVersion(self))
|
||||
self.putChild('listjobs.json', webservice.ListJobs(self))
|
||||
self.putChild('logs', static.File(logsdir, 'text/plain'))
|
||||
self.putChild('items', static.File(itemsdir, 'text/plain'))
|
||||
self.putChild('jobs', Jobs(self))
|
||||
services = config.items('services', ())
|
||||
for servName, servClsName in services:
|
||||
servCls = load_object(servClsName)
|
||||
self.putChild(servName, servCls(self))
|
||||
self.update_projects()
|
||||
|
||||
def update_projects(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user