cvtools.cmd 源代码

# -*- encoding:utf-8 -*-
# @Time    : 2020/2/11 11:45
# @Author  : jiang.g.f
# @File    : cmd.py
# @Software: PyCharm

import os
import os.path as osp
import sys
import argparse
import importlib

import cvtools

COLOR = True


[文档]def write(text, color=None): global COLOR if COLOR: text = text.replace('==>', '\033[90m==>\033[0m') text = text.replace(' +', ' \033[32m+\033[0m') text = text.replace('XX>', '\033[31mXX>\033[0m') if text[:6] == 'Error:': text = '\033[41mError:\033[0m\033[91m%s\033[0m' % text[6:] elif text[:4] == 'Tip:': text = '\033[42mTip:\033[0m\033[32m%s\033[0m' % text[4:] elif text.strip()[:4] == 'http': text = '\033[92m%s\033[0m' % text elif text[:7] == 'CVTools': text = """ _________ ____ _______________ .__ \_ ___ \\ \ / /\__ ___/____ ____ | | ______ / \ \/ \ Y / | | / _ \ / _ \ | | / ___/ \ \____ \ / | | ( <_> )( <_> )| |__ \___ \ \______ / \___/ |____| \____/ \____/ |____//____ > \/ \/ %s\n""" \ % ("v"+cvtools.__version__) elif color == 'red': text = '\033[91m%s\033[0m' % text elif color == 'green': text = '\033[92m%s\033[0m' % text sys.stdout.write(text + '\n')
version = "CVTools py-v{} - https://cvtools.readthedocs.io".format( cvtools.__version__)
[文档]def main(*argv): root = os.getcwd() # Build Parser # ------------ parser = argparse.ArgumentParser( prog='cvtools', add_help=True, formatter_class=argparse.RawDescriptionHelpFormatter, epilog="""Upload reports to Codecov""" ) basics = parser.add_argument_group( '======================== Basics ========================') basics.add_argument('--version', action='version', version=version) basics.add_argument('--deploy', '-d', default=None, help="deploy a model in web") basics.add_argument('--port', '-p', default=5000, type=int, help="model deployment port") basics.add_argument('--log', '-l', default="deploy/deploy.log", help="dump logs to file") debugging = parser.add_argument_group( '======================== Debugging ========================') debugging.add_argument('--dump', action="store_true", help="Dump collected data and do not send to CVTools") debugging.add_argument('-v', '--verbose', action="store_true", help="Be verbose, e.g. dump the collected data") debugging.add_argument('--no-color', action="store_true", help="Do not output with color") # Parse Arguments # --------------- if argv: args = parser.parse_args(argv) else: args = parser.parse_args() global COLOR COLOR = not args.no_color write('CVTools') if args.deploy: # sys.path.append(root) # deploy = importlib.import_module(args.deploy, package='.') with open(args.deploy, 'r') as f: exec(compile(f.read(), args.deploy, 'exec')) model_r = locals()['model'] cvtools.run_model(model_r, args.port, args.log)
if __name__ == '__main__': main()