"""Main program to execute Github repo scan.""" import sys from main import config from main.collector.multi_repo import VulnerabilityCollectorMultiRepo def collect_all(load_cache_option=False, log_to_file=False, jira_update=False): COLLECTOR = VulnerabilityCollectorMultiRepo() COLLECTOR.configure(config.REPO_OWNER, config.GITHUB_TOKEN, config.PROJECT_DIR, config.BASE_PATH) if load_cache_option: ok = COLLECTOR.load_cached_result() if not ok: return else: COLLECTOR.collect_master_vuln() COLLECTOR.filter_master_vuln() COLLECTOR.check_if_vuln_fixed() COLLECTOR.output_results(log_to_file=log_to_file) if jira_update: COLLECTOR.jira_update() def main(): """Main program.""" load_cache_option = False log_to_file = False jira_update = False for entry in sys.argv: data = entry.split("=") if data[0] == "app_family": config.APP_FAMILY = data[1] elif data[0] == "use_cached_result": load_cache_option = 1 elif data[0] == "log_to_file": log_to_file = 1 elif data[0] == 'update_jira': jira_update=1 collect_all( load_cache_option=load_cache_option, log_to_file=log_to_file, jira_update=jira_update ) print('\nFINISHED') if __name__ == '__main__': main()