def version(**opts): cols, numeric, limit, rsep, lsep, astab = show_opts(opts) rpc = any_rpc(opts) ret = rpc.core_version() ret, desc = var2tab(ret, 'version') tabprint(ret, desc, rsep, lsep, astab)
def methods(**opts): cols, numeric, limit, rsep, lsep, astab = show_opts(opts) rpc = any_rpc(opts) ret = rpc.system_listmethods() ret, desc = var2tab(ret, 'methods') tabprint(ret, desc, rsep, lsep, astab)
def main(argv): set_excepthook(True) args, opts, defaults = parse_cmdline(argv) set_excepthook(opts.get('DEBUG', defaults.get('DEBUG'))) conf_opts = handle_config(opts.get('CONFIG', defaults.get('CONFIG'))) defaults.update(conf_opts) defaults.update(opts) opts = defaults del defaults set_excepthook(opts['DEBUG']) if len(args) < 1: raise Error (EINVAL) opts['VERSION'] = handle_version(opts) opts['DB_URI'] = handle_db_uri(opts) opts['SER_URI'] = handle_ser_uri(opts) opts['SERVERS'] = handle_servers(opts) modname = handle_module_name(args[0]) mod = module(modname) errarg = None try: funcname = mod._handler_ args = args[1:] except: try: errarg = args[1] funcname = opt.CMD.get(args[1]) except IndexError: funcname = 'help' if opts['HELP']: funcname = 'help' args = args[2:] try: func = getattr(mod, funcname) except: if errarg: raise Error (EINVAL, errarg) else: raise Error (EINVAL,) if opts['DBG_ARGS']: vals = [('MOD', repr(modname)), ('FUN', repr(funcname))] i = 0 for a in args: vals.append((str(i), repr(a))) i += 1 tabprint(vals, [('ARG',),('VALUE',)], tab=True) vals, desc = var2tab(opts, ('OPT', 'VALUE')) vals = [ (k, repr(v)) for k, v in vals ] tabprint(vals, desc, tab=True) return call(func, args, opts)
def publish(uid, file_with_PIDF_doc, expires_in_sec, etag=None, **opts): expires = int(expires_in_sec) cols, numeric, limit, rsep, lsep, astab = show_opts(opts) rpc = any_rpc(opts) fh = open(file_with_PIDF_doc) doc = fh.read() fh.close() if etag: ret = rpc.ser.pa.publish('registrar', uid, doc, expires, etag) else: ret = rpc.ser.pa.publish('registrar', uid, doc, expires) if astab: ret, desc = var2tab(ret) tabprint(ret, desc, rsep, lsep, astab) else: print repr(ret)
def rpc(cmd, args, opts): rpc = any_rpc(opts) cols, numeric, limit, rsep, lsep, astab = show_opts(opts) # quote unquoted string that not appear as number args = list(args) for i in range(len(args)): try: tmp = float(args[i]) except: if args[i][:1] not in ('"', "'"): args[i] = '"' + str(args[i]) + '"' ret = rpc.shell_cmd(cmd, args) if astab: ret, desc = var2tab(ret) tabprint(ret, desc, rsep, lsep, astab) else: if ret == '': # ignore empty string it's default return # value if nothing returns print repr(ret)