MCPcopy Index your code
hub / github.com/Tencent/CodeAnalysis / CodePuppy

Class CodePuppy

client/codepuppy.py:32–154  ·  view source on GitHub ↗

codepuppy启动管理类

Source from the content-addressed store, hash-verified

30
31
32class CodePuppy(object):
33 """codepuppy启动管理类
34 """
35 def __init__(self):
36 # 命令行输入参数
37 self._params = CmdArgParser.parse_args()
38 # 日志输出设置
39 self.__setup_logger()
40 # 打印版本信息
41 self.__print_client_version()
42
43 if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
44 LogPrinter.info('running in a PyInstaller bundle')
45 else: # 源码执行时,检查是否为python3.7版本
46 if not PythonTool.is_local_python_command_available("python3", python_version="3.7"):
47 raise ConfigError("python3 command(Python Version 3.7) is not available, please install first.")
48 # 运行环境默认编码检查
49 self.__check_encoding()
50
51 # 默认git配置
52 GitConfig.set_default_config()
53
54 def __print_client_version(self):
55 """打印TCA客户端版本信息"""
56 LogPrinter.info("=" * 39)
57 LogPrinter.info(f"*** TCA Client v{settings.VERSION}({settings.EDITION.name} Beta) ***")
58 LogPrinter.info("=" * 39)
59
60 def __setup_logger(self):
61 """日志打印配置
62
63 :param params:命令行参数
64 :return:
65 """
66 # 设置日志级别和格式
67 if app.settings.DEBUG:
68 level = logging.DEBUG
69 else:
70 level = logging.INFO
71
72 format_pattern = '%(asctime)s-%(levelname)s: %(message)s'
73 logging.basicConfig(level=level, format=format_pattern)
74 # 设置日志输出文件,如果文件大于10MB,自动备份,备份文件多于10个时,自动删除
75 if self._params.log_file:
76 handler = RotatingFileHandler(filename=self._params.log_file, maxBytes= 10 * 1024 * 1024, backupCount=10)
77 formatter = logging.Formatter(format_pattern)
78 handler.setFormatter(formatter)
79 root_logger = logging.getLogger()
80 root_logger.addHandler(handler)
81 LogPrinter.info(f"Tencent Cloud Code Analysis ({settings.EDITION.name} Beta)")
82
83 def __check_encoding(self):
84 """检查默认编码,如果为空,设置为en_US.UTF-8
85
86 :return:
87 """
88 # 默认编码检查
89 try:

Callers 3

test_no_paramMethod · 0.90
test_help_paramMethod · 0.90
codepuppy.pyFile · 0.85

Calls

no outgoing calls

Tested by 2

test_no_paramMethod · 0.72
test_help_paramMethod · 0.72