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

Class UserInput

client/node/common/userinput.py:27–244  ·  view source on GitHub ↗

接收用户输入,对输入进行必要的校验和重试

Source from the content-addressed store, hash-verified

25logger = logging.getLogger(__name__)
26
27class UserInput(object):
28 """
29 接收用户输入,对输入进行必要的校验和重试
30 """
31 def __format_language_name(self, input_name):
32 """
33 格式为server支持的语言名称;如果不支持,返回None
34 """
35 # 先转换成小写
36 lowcase_name = input_name.lower()
37 for key, value in LanguageType.LANGUAGE_DICT.items():
38 if lowcase_name in value['user_input']:
39 return value['server_name']
40 # 不支持的语言类型,返回None
41 return None
42
43 def format_languages(self, language_str):
44 """
45 将输入的语言字符串转换为list,并判断是否是支持的语言类型.如果不支持,抛异常
46 :param language_str: 语言类型字符串,以英文逗号或分号分隔
47 :return: <list>
48 """
49 # 先转换str为list
50 language_list = StringMgr.str_to_list(language_str)
51 format_languages = []
52 for language in language_list:
53 format_name = self.__format_language_name(language)
54 if format_name:
55 format_languages.append(format_name)
56 else:
57 message = "不支持的语言类型: %s" % language
58 logger.error(message)
59 raise NodeError(code=errcode.E_NODE_TASK_CONFIG, msg=message)
60 # self._languages 重新赋值,使用标准拼写的语言类型
61 return list(set(format_languages))
62
63 def __get_local_scm_info(self, source_dir, scm_type):
64 """
65 获取本地代码库的scm info
66 :param source_dir: 本地代码目录
67 :param scm_type: scm类型
68 :return: scm info | 如果获取失败,返回None
69 """
70 try:
71 scm_info = ScmClient(scm_type=scm_type,
72 scm_url="",
73 source_dir=source_dir,
74 scm_username="",
75 scm_password="").info()
76 return scm_info
77 except Exception as err:
78 logger.warning(str(err))
79 return None
80
81 def get_remote_scm_info(self, scm_type, scm_url, source_dir, username=None, password=None):
82 """
83 获取远程代码仓库的scm info信息(需要用户名密码权限)
84 :param scm_type:

Callers 7

load_toolsMethod · 0.90
__init__Method · 0.90
generate_requestMethod · 0.90
_read_config_fileMethod · 0.90
_read_argsMethod · 0.90
__check_config_infoMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected