def __init__(self, cfgdir, tmpdir, debug=None, restore=False): self.__running = Event() self.__do_restart = False self.__do_exit = False self._ = lambda x: x self.cfgdir = fullpath(cfgdir) self.tmpdir = fullpath(tmpdir) os.chdir(self.cfgdir) # if self.tmpdir not in sys.path: # sys.path.append(self.tmpdir) # if refresh: # cleanpy(PACKDIR) self.config = ConfigParser(self.DEFAULT_CONFIGNAME) self.debug = self.config.get('log', 'debug') if debug is None else debug self.log = LoggerFactory(self, self.debug) self._init_database(restore) self._init_managers() self.request = self.req = RequestFactory(self) self._init_api() atexit.register(self.exit)
def __init__(self, cfgdir, tmpdir, debug=None, restore=False): self.__running = Event() self.__do_restart = False self.__do_exit = False self._ = lambda x: x self.cfgdir = fullpath(cfgdir) self.tmpdir = fullpath(tmpdir) os.chdir(self.cfgdir) # if self.tmpdir not in sys.path: # sys.path.append(self.tmpdir) # if refresh: # cleanpy(PACKDIR) self.config = ConfigParser(self.DEFAULT_CONFIGNAME) self.debug = self.config.get( 'log', 'debug') if debug is None else debug self.log = LoggerFactory(self, self.debug) self._init_database(restore) self._init_managers() self.request = self.req = RequestFactory(self) self._init_api() atexit.register(self.exit)
def __init__(self, filename, config=default.config, version=__version_info__, logger=None): super(ConfigParser, self).__init__() if config is not None: self.update(config) self.path = fullpath(filename) self.version, self.version_info = self._parse_version(version) if logger is None: self.log = logging.getLogger('null') self.log.addHandler(logging.NullHandler()) else: self.log = logger try: self.retrieve() except VersionMismatchError: self._backup_fileconfig() except IOError: pass else: self.store() return
def __init__( self, filename, config=default.config, version=__version_info__, logger=None): super(ConfigParser, self).__init__() if config is not None: self.update(config) self.path = fullpath(filename) self.version, self.version_info = self._parse_version(version) if logger is None: self.log = logging.getLogger('null') self.log.addHandler(logging.NullHandler()) else: self.log = logger try: self.retrieve() except VersionMismatchError: self._backup_fileconfig() except IOError: pass else: self.store() return
def __init__(self, dirname, package, config): self.path = fullpath(dirname) self.package = package self.config = config self.log = logging.getLogger() self.plugins = {} self.create_index()
def set_path(self, filepath): path = fullpath(filepath) dirname, filename = os.path.split(path) filename = purge.name(filename) overflow = len(os.path.join(dirname, filename)) - self.PATH_MAXLEN if overflow > 0: name, ext = os.path.splitext(filename) name = purge.truncate(name, overflow) filename = name + ext self.path = os.path.join(dirname, filename)
def __init__(self, filename, config=None, version=__version_info__, logger=None): self.path = fullpath(filename) self.version, self.version_info = self._parse_version(version) self.log = self._get_logger(logger) self.fp = open(filename, mode='a+') ConfigSection.__init__(self, self, config) self._retrieve_fileconfig()
def setup(self): # cached modules (type, name) self.modules = {} # match history to speedup parsing (type, name) self.history = [] # register for import addon sys.meta_path.append(self) # add to path, so we can import from userplugins sys.path.append(os.getcwd()) # TODO: Recheck... self.loader = LoaderFactory( PluginLoader(fullpath(self.LOCALROOT), self.LOCALROOT, self.pyload.config), PluginLoader(resource_filename(__package__, 'core/plugin'), self.ROOT, self.pyload.config), ) self.loader.check_versions() # plugin matcher to overwrite some behaviour self.matcher = []
def _init_profile(self, profiledir): profiledir = fullpath(profiledir) os.chdir(profiledir) self.configdir, self.profile = os.path.split(profiledir)
def path(*paths): return os.path.normcase(fullpath(os.path.join(*paths)))
from pyload.utils.web.parse import endpoint, socket standard_library.install_aliases() def _parse_address(value): address = value.replace(',', ':') return (endpoint if isendpoint(address) else socket)(address) convert_map = { InputType.NA: lambda x: x, InputType.Str: to_str, InputType.Int: int, InputType.File: fullpath, InputType.Folder: lambda x: os.path.dirname(fullpath(x)), InputType.Password: to_str, InputType.Bool: bool, InputType.Float: float, # InputType.Octal: lambda x: oct(int(x, 8)), InputType.Size: parse.bytesize, InputType.Address: _parse_address, InputType.Bytes: to_bytes, InputType.StrList: parse.entries } class ConfigOption(object): __slots__ = [ 'allowed_values', 'default', 'desc', 'label', 'parser', 'type', 'value'
class ConfigOption(object): __slots__ = [ 'allowed_values', 'default', 'desc', 'label', 'parser', 'type', 'value' ] DEFAULT_TYPE = InputType.Str _convert_map = { InputType.NA: lambda x: x, InputType.Str: lambda x: "" if x is None else str(x), InputType.Int: lambda x: 0 if x is None else int(x), InputType.File: lambda x: "" if x is None else fullpath(x), InputType.Folder: lambda x: "" if x is None else os.path.dirname(fullpath(x)), InputType.Password: lambda x: "" if x is None else str(x), InputType.Bool: lambda x: boolean(x) if isinstance(x, str) else bool(x), InputType.Float: lambda x: 0.0 if x is None else float(x), InputType.Tristate: lambda x: x if x is None else bool(x), InputType.Octal: lambda x: 0 if x is None else oct(x), InputType.Size: lambda x: 0 if x is None else (-1 if str(x) == '-1' else bytesize(x)), InputType.Address: lambda x: (None, None) if x is None else (endpoint if isendpoint(x) else socket)(x), InputType.Bytes: lambda x: b"" if x is None else bytes(x), InputType.StrList: lambda l: [str(x) for x in l] if isiterable(l) else entries(l) } def __init__(self, parser, value, label=None, desc=None, allowed_values=None, input_type=None): self.parser = parser self.type = None self.value = None self.default = None self.label = None self.desc = None self.allowed_values = () self._set_type(input_type) self._set_value(value) self._set_allowed(allowed_values) self._set_info(label, desc) def _set_info(self, label, desc): self.label = "" if label is None else str(label) self.desc = "" if desc is None else str(desc) def _set_type(self, input_type): if not input_type: input_type = self.DEFAULT_TYPE if input_type not in InputType: raise InvalidValueError(input_type) self.type = input_type def _set_value(self, value): self.value = self.default = self._normalize_value(value) def _set_allowed(self, allowed): if not allowed: self.allowed_values = () return self.allowed_values = tuple(self._normalize_value(v) for v in allowed) def _normalize_value(self, value): return self._convert_map[self.type](value) def reset(self): self.value = self.default def get(self): return self.value def get_default(self): return self.default def set(self, value, store=True): norm_value = self._normalize_value(value) if self.allowed_values and norm_value not in self.allowed_values: raise InvalidValueError(value) if self.value == norm_value: return None self.value = norm_value if store: self.parser.store()
def __init__(self, filename): self.path = fullpath(filename) self.size = 0 self.resume = False self.chunks = []
from pyload.utils.web.parse import endpoint, socket standard_library.install_aliases() def _parse_address(value): address = value.replace(',', ':') return (endpoint if isendpoint(address) else socket)(address) convert_map = { InputType.NA: lambda x: x, InputType.Str: to_str, InputType.Int: int, InputType.File: fullpath, InputType.Folder: lambda x: os.path.dirname(fullpath(x)), InputType.Password: to_str, InputType.Bool: bool, InputType.Float: float, # InputType.Octal: lambda x: oct(int(x, 8)), InputType.Size: parse.bytesize, InputType.Address: _parse_address, InputType.Bytes: to_bytes, InputType.StrList: parse.entries } class ConfigOption(object): __slots__ = ['allowed_values', 'default', 'desc', 'label', 'parser', 'type', 'value']