コード例 #1
0
ファイル: __init__.py プロジェクト: jpeddicord/jobservice
class ServiceSettings:
    """Service-level settings (SLS) for a single service."""
    
    def __init__(self, jobname):
        self.jobname = jobname
        if '/' in jobname:
            basename = jobname.split('/')[0]
        else:
            basename = jobname
        self.filename = ''
        for loc in (JobService.SLS_LOCAL, JobService.SLS_SYSTEM, JobService.SLS_DEFAULT):
            if not loc:
                continue
            self.filename = loc.format(basename)
            if exists(self.filename):
                log.debug('Using ' + self.filename)
                break
        self.settingnames = []
        self.settings = {}
        self.parser = SettingParser(self.filename, jobname)
    
    def get_all_settings(self):
        if not self.settingnames:
            self.settingnames = self.parser.get_all_settings()
        return self.settingnames
    
    def get_setting(self, name, lang=''):
        setting = self.parser.get_setting(name, lang)
        inst = TYPE_MAP[setting[1]](setting[4], setting[5])
        self.settings[name] = inst
        return setting
    
    def set_setting(self, name, value):
        self.parser.set_setting(name, value)
    
    def validate_setting(self, name, value):
        self.settings[name].validate(value)
        return True
コード例 #2
0
ファイル: __init__.py プロジェクト: jpeddicord/jobservice
 def __init__(self, jobname):
     self.jobname = jobname
     if '/' in jobname:
         basename = jobname.split('/')[0]
     else:
         basename = jobname
     self.filename = ''
     for loc in (JobService.SLS_LOCAL, JobService.SLS_SYSTEM, JobService.SLS_DEFAULT):
         if not loc:
             continue
         self.filename = loc.format(basename)
         if exists(self.filename):
             log.debug('Using ' + self.filename)
             break
     self.settingnames = []
     self.settings = {}
     self.parser = SettingParser(self.filename, jobname)