这里判断机器是否支持运行工具,三端保持一致 1. 支持的话,便使用机器上的默认python和pylint分析 2. 不支持的话,记载环境变量,使用Puppy自己的Pylint环境 3. 还不支持的话,就发布任务到公线机器分析,公线机器维护一套自己的python环境 可以通过$?或者%errorlevel%来检验 :return:
(tool_name)
| 23 | class PythonTool(object): |
| 24 | @staticmethod |
| 25 | def check_tool_usable(tool_name): |
| 26 | """ |
| 27 | 这里判断机器是否支持运行工具,三端保持一致 |
| 28 | 1. 支持的话,便使用机器上的默认python和pylint分析 |
| 29 | 2. 不支持的话,记载环境变量,使用Puppy自己的Pylint环境 |
| 30 | 3. 还不支持的话,就发布任务到公线机器分析,公线机器维护一套自己的python环境 |
| 31 | 可以通过$?或者%errorlevel%来检验 |
| 32 | :return: |
| 33 | """ |
| 34 | python_version = PythonTool.get_python_version_from_env() |
| 35 | |
| 36 | # 判断本地Python环境是否可用 |
| 37 | if PythonTool.is_python_available(tool_name, python_version=python_version): |
| 38 | return ["analyze"] |
| 39 | |
| 40 | # python --version执行失败,或者不是对应版本的情况, 使用python2 --version |
| 41 | if PythonTool.is_python_available(tool_name, python_version=python_version, with_version=True): |
| 42 | return ["analyze"] |
| 43 | |
| 44 | # 本地Python环境不可用,使用puppy自身的Python环境,判断Puppy自身的Python环境在该机器上是否可用 |
| 45 | # 加载环境变量 |
| 46 | PythonTool.add_python_env(tool_name) |
| 47 | if PythonTool.is_python_available(tool_name, python_version=python_version, with_version=True): |
| 48 | return ["analyze"] |
| 49 | |
| 50 | # 该机器不支持分析 |
| 51 | return [] |
| 52 | |
| 53 | @staticmethod |
| 54 | def get_python_version_from_env(): |
nothing calls this directly
no test coverage detected