Source code for ulordapi.daemonCLI

# coding=utf-8
# @File  : daemonCLI.py
# @Author: PuJi
# @Date  : 2018/5/4 0004

# init to start three APIs.


import pprint, argparse, sys, os, textwrap, json


from ulordapi import utils
from ulordapi.config import config,ulordconfig
from ulordapi.manage import create
from ulordapi.user import Senior


senior = Senior(ulordconfig.get('ulord_appkey'), ulordconfig.get('ulord_secret'))

# develop2 = Junior(ulordconfig.get('ulord_appkey'), ulordconfig.get('ulord_secret'))

try:
    config_path = config.get('baseconfig').get('config_file')
except:
    config_path = "basic config"


[docs]def main(): parser = argparse.ArgumentParser( prog='ulordapi', description='ulordapi ---- SDK for the Ulord APIs', formatter_class=argparse.RawDescriptionHelpFormatter, epilog=textwrap.dedent(''' Use 'ulordapi <command> --help' to learn more about each command. EXIT STATUS The CLI will exit with one of the following values: 0 Successful execution. 1 Failed executions. '''), usage='%(prog)s [options|sub-command] [-h]' ) # main command parser.add_argument('-v', '--version', action='version', version='%(prog)s 0.0.1') # parser.add_argument('daemon', action='store_true') # subcommand subparsers = parser.add_subparsers( title="ulordapi sub-command", description="ulordapi sub-command,reading API documents ", help='using basic config - {}'.format(config_path)) # basic group # group_basic = parser.add_argument_group('BASIC COMMANDS') # subcommand - up commands parser_daemon = subparsers.add_parser( 'daemon', help='Daemon process,including web server and udfs daemon.', prog='ulordapi daemon' # type=udfs.udfs.start ) parser_daemon.set_defaults(func=senior.udfs.udfs.start) # subparsers_daemon = parser_up.add_subparsers( # title='DAEMON COMMANDS', # description='Daemon process,including web server and udfs daemon', # ) # subparsers_daemon.set_default(func=udfs.udfs.start()) # parser.add_argument('daemon', help='Daemon process,including web server and udfs daemon') # parser.set_defaults(func=udfs.udfs.start()) # subcommand - up commands parser_up = subparsers.add_parser( 'UP', help='main functions', prog='ulordapi UP <actions> [<value>]' ) subparsers_up = parser_up.add_subparsers( title='UP COMMANDS', description='packing ulord-platform HTTP APIs and some transmission functions', metavar='', help='just for the Senior programmer functions.' ) parser_up_wallet_create = subparsers_up.add_parser('create', help='create wallet') parser_up_wallet_create.set_defaults(func=senior.ulord.ulord_createwallet) parser_basic_publish = subparsers_up.add_parser('publish', help='publish data to the ulord') parser_basic_publish.set_defaults(func=senior.ulord.publish) parser_basic_transaction = subparsers_up.add_parser('transaction', help='transaction on the ulord') parser_basic_transaction.set_defaults(func=senior.ulord.transaction) parser_basic_paytouser = subparsers_up.add_parser('paytouser', help='activity send ulord to the user') parser_basic_paytouser.set_defaults(func=senior.ulord.paytouser) parser_basic_queryblog = subparsers_up.add_parser('resourceslist', help='list all resources') parser_basic_queryblog.set_defaults(func=senior.queryresource) parser_basic_querybalance = subparsers_up.add_parser('querybalance', help="query user's balance") parser_basic_querybalance.set_defaults(func=senior.querybalance) parser_basic_checkisbought = subparsers_up.add_parser('checkisbought', help="check the resource if bought") parser_basic_checkisbought.set_defaults(func=senior.checkisbought) parser_basic_queryuserpublished = subparsers_up.add_parser('queryuserpublished', help="query user's published") parser_basic_queryuserpublished.set_defaults(func=senior.queryuserpublished) parser_basic_queryuserbought = subparsers_up.add_parser('queryresourcebyID', help="query user's bought") parser_basic_queryuserbought.set_defaults(func=senior.query_resourc_by_ID) parser_basic_queryincomebillings = subparsers_up.add_parser('queryincomebillings', help="query user's income billings") parser_basic_queryincomebillings.set_defaults(func=senior.queryincomebillings) parser_basic_queryoutgobillings = subparsers_up.add_parser('queryoutgobillings', help="query user's outgo billings") parser_basic_queryoutgobillings.set_defaults(func=senior.queryoutgobillings) parser_basic_querybillingsdetail = subparsers_up.add_parser('querybillingsdetail', help="query the detail of user's billings") parser_basic_querybillingsdetail.set_defaults(func=senior.querybillingsdetail) parser_basic_querybillings = subparsers_up.add_parser('querybillings', help="query user's billings") parser_basic_querybillings.set_defaults(func=senior.querybillings) parser_basic_querypublishnum = subparsers_up.add_parser('querypublishnum', help="query the num of user's published") parser_basic_querypublishnum.set_defaults(func=senior.querypublishnum) # parser_basic_addpurchases = subparsers_up.add_parser('addpurchases', help="add resources's purchases") # parser_basic_addpurchases.set_defaults(func=develop1.addpurchases) # subcommand - udfs commands parser_udfs = subparsers.add_parser( 'udfs', help='transfer resources to the platform', prog='ulordapi udfs [upload <file>] | [download|cat <udfs-hash>]' ) subparsers_udfs = parser_udfs.add_subparsers( title='UDFS COMMANDS', description='udfs is a high speed transmitter base on the ulord-platform', # metavar='ulordapi udfs [upload <file>] | [download|cat <udfs-hash>]', metavar='', help='upload resources,download/cat resources from the ulord-platform' ) parser_db_upload = subparsers_udfs.add_parser('upload', help='upload resources to udfs') parser_db_upload.set_defaults(func=senior.udfs.upload_file) parser_db_download = subparsers_udfs.add_parser('download', help='download resources from udfs') parser_db_download.set_defaults(func=senior.udfs.downloadhash) parser_db_cat = subparsers_udfs.add_parser('cat', help='look up resources from udfs') parser_db_cat.set_defaults(func=senior.udfs.cat) # subcommand - DB commands parser_DB = subparsers.add_parser( 'DB', help='Manage database', prog='ulordapi DB <actions>' ) subparsers_DB = parser_DB.add_subparsers( title='DB COMMANDS', description='create simple database and some simple APIs', metavar='', help='Manage database' ) parser_db_create = subparsers_DB.add_parser('create', help='create database') parser_db_create.set_defaults(func=create) # subcommand - config commands parser_config = subparsers.add_parser( 'config', help='Manage configuration', prog='ulordapi config <key> [<value>]' ) subparsers_config = parser_config.add_subparsers( title='config commands', description=textwrap.dedent(''' Config Management.It controls configuration variables. The configuration values are stored in a config file inside your ulord repository({0}). '''.format(config_path)), prog='config', metavar='', help='Get and set ulordapi config values.' ) parser_config_show = subparsers_config.add_parser('show', help='show config.Output config file contents.') parser_config_show.add_argument('key', metavar='[key]', nargs='*', help='show config.Output config file contents.') parser_config_show.set_defaults(func=show_config) parser_config_edit = subparsers_config.add_parser('edit', help='edit config') parser_config_edit.add_argument('key', metavar='[key]', nargs='*', help='edit config.Open the config file for editing.') parser_config_edit.set_defaults(func=edit_config) args = parser.parse_args() if hasattr(args, 'daemon'): args.func() else: args.func(args)
[docs]class client(): def __init__(self): pass
[docs]def formatResult(func): def wrapper(*args, **kwargs): result = func(*args, **kwargs) try: print(json.dumps(result, indent=2, ensure_ascii=False)) except Exception as e: print(e) # pprint.pprint(result) return result return wrapper
[docs]@formatResult def edit_config(args): if args and args.key: args = args.key return senior.config_edit(args)
[docs]@formatResult def show_config(args): if args and args.key: args = args.key return utils._change_to_unicode(senior.config_show(args))
if __name__ == '__main__': # print show_config(['ulordconfigs','password']) # print show_config(['ulordconfigs']) main()