support/scripts/pkg-stats: add --disable option
When debugging pkg-stats, it's quite useful to be able to disable some features that are quite long (checking upstream URL, checking latest version, checking CVE). This commit adds a --disable option, which can take a comma-separated list of features to disable, such as: ./support/scripts/pkg-stats --disable url,upstream Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
a206bbc5fe
commit
b102352b62
@ -1099,6 +1099,10 @@ def resolvepath(path):
|
||||
return os.path.abspath(os.path.expanduser(path))
|
||||
|
||||
|
||||
def list_str(values):
|
||||
return values.split(',')
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser()
|
||||
output = parser.add_argument_group('output', 'Output file(s)')
|
||||
@ -1115,6 +1119,9 @@ def parse_args():
|
||||
help='List of packages (comma separated)')
|
||||
parser.add_argument('--nvd-path', dest='nvd_path',
|
||||
help='Path to the local NVD database', type=resolvepath)
|
||||
parser.add_argument('--disable', type=list_str,
|
||||
help='Features to disable, comma-separated (cve, upstream, url)',
|
||||
default=[])
|
||||
args = parser.parse_args()
|
||||
if not args.html and not args.json:
|
||||
parser.error('at least one of --html or --json (or both) is required')
|
||||
@ -1161,13 +1168,15 @@ def __main__():
|
||||
pkg.set_url()
|
||||
pkg.set_ignored_cves()
|
||||
pkg.set_developers(developers)
|
||||
print("Checking URL status")
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(check_package_urls(packages))
|
||||
print("Getting latest versions ...")
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(check_package_latest_version(packages))
|
||||
if args.nvd_path:
|
||||
if not "url" in args.disable:
|
||||
print("Checking URL status")
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(check_package_urls(packages))
|
||||
if not "upstream" in args.disable:
|
||||
print("Getting latest versions ...")
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(check_package_latest_version(packages))
|
||||
if not "cve" in args.disable and args.nvd_path:
|
||||
print("Checking packages CVEs")
|
||||
check_package_cves(args.nvd_path, packages)
|
||||
check_package_cpes(args.nvd_path, packages)
|
||||
|
Loading…
Reference in New Issue
Block a user