def init(cfgfn=_cfgfn): config = cfg.new(cfgfn) log.init(config.get('sadm', 'log', fallback='error')) log.debug(version.string('sadm-devops')) log.debug("read config %s" % cfgfn) log.debug("bottle config %s" % _wappcfg) wapp.config.load_config(_wappcfg) tpldir = libdir.fpath('devops', 'wapp', 'tpl') log.debug("templates dir %s" % tpldir) bottle.TEMPLATE_PATH = [tpldir] rmplugins = [ p.strip() for p in wapp.config.get('plugins.uninstall', '').split(' ') ] for p in rmplugins: if p != '': log.debug("plugin uninstall %s" % p) wapp.uninstall(p) log.debug('install auth plugins') wapp.install(AuthPlugin(config)) errors.init(wapp) handlers.init(wapp) session.init(config) log.debug("loaded handlers %s" % [r.name for r in wapp.routes]) return wapp
def main(args): if len(args) != 1: print('ERROR: sadm-listen exec invalid args', file=sys.stderr) return 1 taskfn = args[0] obj = None try: with open(taskfn, 'r') as fh: obj = json.load(fh) except Exception as err: log.error("%s" % err) return 2 finally: path.unlink(taskfn) log.init(obj.get('sadm.log', 'warn')) log.debug(version.string('sadm-listen')) log.debug("task file %s" % taskfn) task = obj.get('task', None) if task is None: log.error('listen.exec task not set') return 3 taskAction = obj.get('task.action', None) if taskAction is None: log.error("listen.exec task %s: no action" % task) return 4 taskArgs = obj.get('task.args', None) if taskArgs is None: log.error("listen.exec task %s: no args" % task) return 5 cliURL = obj.get('sadm.listen.url', 'http://127.0.0.1:3666') cli = ListenClient(cliURL) return cli.exec(task, taskAction, taskArgs)
def new(prog, desc = ''): p = argparse.ArgumentParser(prog = prog, description = desc) p.add_argument('-V', '--version', help = 'show version and exit', action = 'version', version = version.string()) p.add_argument('--debug', help = 'enable debug settings', action = 'store_true', default = False) p.add_argument('--log', help = "set log level (%s)" % log.defaultLevel(), default = log.defaultLevel(), choices = log.levels()) p.add_argument('--env', help = 'env name (default)', metavar = 'name', default = 'default') p.add_argument('--profile', help = 'profile name (default)', metavar = 'name', default = 'default') return p
def init(cfgfn = _cfgfn): global config wapp.config.load_config(_wappcfg) bottle.TEMPLATE_PATH = [] config = _newConfig(cfgfn) log.init(config.get('sadm', 'log', fallback = 'error')) log.debug(version.string('sadm-listen')) log.debug("read config %s" % cfgfn) rmplugins = [p.strip() for p in wapp.config.get('plugins.uninstall', '').split(' ')] for p in rmplugins: if p != '': log.debug("plugin uninstall %s" % p) wapp.uninstall(p) errors.init(wapp) handlers.init(wapp, config) log.debug("loaded handlers %s" % [r.name for r in wapp.routes]) return wapp
def test_string(): s = "version %s (build %s)" % (_version, _version_build) assert version.string() == '%(prog)s ' + s
def __init__(self, name, data): self.name = name self.data = data self.data.update({'sadm': { 'version': version.string('sadm'), }})