| 35 | |
| 36 | |
| 37 | class QuickRunner(TaskRunner): |
| 38 | def __init__(self, args): |
| 39 | """ |
| 40 | 构造函数 |
| 41 | :param 命令行参数 |
| 42 | :return: |
| 43 | """ |
| 44 | TaskRunner.__init__(self) |
| 45 | self._origin_os_env = None |
| 46 | |
| 47 | self._args = args |
| 48 | # 命令行参数 |
| 49 | if args.source_dir: |
| 50 | self._source_dir = args.source_dir |
| 51 | else: |
| 52 | self._source_dir = None |
| 53 | if args.file: |
| 54 | self._scan_files = StringMgr.str_to_list(args.file) |
| 55 | if not self._source_dir: |
| 56 | LogPrinter.error(f"source dir is empty, please use --source-dir argument.") |
| 57 | sys.exit(-1) |
| 58 | for rel_path in self._scan_files: |
| 59 | if not os.path.exists(os.path.join(self._source_dir, rel_path)): |
| 60 | LogPrinter.error(f"{rel_path} path not exists!") |
| 61 | sys.exit(-1) |
| 62 | else: |
| 63 | self._scan_files = [] |
| 64 | if args.language: |
| 65 | self._languages = UserInput().format_languages(args.language) |
| 66 | else: |
| 67 | self._languages = [] |
| 68 | if args.label: |
| 69 | self._labels = StringMgr.str_to_list(args.label) |
| 70 | else: |
| 71 | self._labels = [] |
| 72 | if args.token: |
| 73 | self._token = args.token |
| 74 | else: |
| 75 | self._token = None |
| 76 | if args.scheme_template_id: |
| 77 | self._scheme_template_id = args.scheme_template_id |
| 78 | else: |
| 79 | self._scheme_template_id = None |
| 80 | if args.org_sid: |
| 81 | self._org_sid = args.org_sid |
| 82 | else: |
| 83 | self._org_sid = None |
| 84 | |
| 85 | # 其他变量 |
| 86 | self._scm_type = None |
| 87 | self._languages = [] |
| 88 | self._ssh_file = None |
| 89 | |
| 90 | self._report_file = os.path.abspath("scan_status.json") # 默认值 |
| 91 | self._scan_history_url = None # 项目执行历史页面地址 |
| 92 | |
| 93 | # 其他成员变量,通过计算得到 |
| 94 | self._scm_client = None |