Source code for scrapyd.config

import glob
import os.path
from configparser import ConfigParser, NoOptionError, NoSectionError
from pkgutil import get_data

from scrapy.utils.conf import closest_scrapy_cfg


[docs] class Config: """A ConfigParser wrapper to support defaults when calling instance methods, and also tied to a single section""" SECTION = "scrapyd" def __init__(self, values=None, extra_sources=()): if values is None: self.cp = ConfigParser() self.cp.read_string(get_data(__package__, "default_scrapyd.conf").decode()) self.cp.read( [ "/etc/scrapyd/scrapyd.conf", "c:\\scrapyd\\scrapyd.conf", *sorted(glob.glob("/etc/scrapyd/conf.d/*")), "scrapyd.conf", os.path.expanduser("~/.scrapyd.conf"), closest_scrapy_cfg(), *extra_sources, ] ) else: self.cp = ConfigParser(values) self.cp.add_section(self.SECTION)
[docs] def get(self, option, default=None): return self._get(self.cp.get, option, default)
[docs] def getint(self, option, default=None): return self._get(self.cp.getint, option, default)
[docs] def getfloat(self, option, default=None): return self._get(self.cp.getfloat, option, default)
[docs] def getboolean(self, option, default=None): return self._get(self.cp.getboolean, option, default)
def _get(self, method, option, default): try: return method(self.SECTION, option) except (NoSectionError, NoOptionError): if default is not None: return default raise
[docs] def items(self, section, default=None): try: return self.cp.items(section) except NoSectionError: if default is not None: return default raise