From ebe85dbce1065115f7efe03d4d4ed70c74aa04f6 Mon Sep 17 00:00:00 2001 From: RemiZOffAlex Date: Mon, 23 Feb 2026 22:42:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20src/myapp/=5F=5Fmain=5F=5F.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/myapp/__main__.py | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/myapp/__main__.py diff --git a/src/myapp/__main__.py b/src/myapp/__main__.py new file mode 100644 index 0000000..b2a103f --- /dev/null +++ b/src/myapp/__main__.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 + +__author__ = 'RemiZOffAlex' +__copyright__ = '(c) RemiZOffAlex' +__email__ = 'remizoffalex@mail.ru' + +import sys +import json +import argparse +import traceback + +from .. import app +from ..api import jsonrpc + + +def main(): + parser = argparse.ArgumentParser( + description='API', + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + parser._optionals.title = "Необязательные аргументы" + + parser.add_argument("--json-rpc", help="JSON-RPC") + parser.add_argument("--methods", action='store_true') + parser.add_argument("--example") + parser.add_argument("--verbose", action='store_true') + parser.add_argument("--save") + + args = parser.parse_args() + + if args.json_rpc: + request = json.loads(args.json_rpc) + if args.verbose: + app.logger.info(request) + result = jsonrpc(request) + if args.save: + with open(args.save, 'w') as fd: + fd.write(result) + print(result) + + if args.methods: + print(jsonrpc.methods) + print('[{0}]'.format(', '.join(jsonrpc.methods))) + + if args.example: + result = jsonrpc.example(args.example) + print(json.dumps(result)) + + +try: + main() +except Exception as err: + traceback.print_exc(file=sys.stdout) + exit(1)