File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -120,3 +120,4 @@ drf-spectacular==0.24.2
120120coreapi == 2.3.3
121121coreschema == 0.0.4
122122itypes == 1.2.0
123+ progress == 1.6
Original file line number Diff line number Diff line change 1010import gzip
1111import json
1212from datetime import date
13+ from progress .bar import ChargingBar
1314
1415import attr
1516import requests
@@ -78,10 +79,18 @@ def fetch_cve_data_1_1(starting_year=2002):
7879 year since ``starting_year`` defaulting to 2002.
7980 """
8081 current_year = date .today ().year
82+ progress_bar_for_records_fetched = ChargingBar ("\t Records fetched" , max = (current_year - starting_year )+ 1 )
83+ progress_bar_for_records_fetched .start ()
8184 # NVD json feeds start from 2002.
82- for year in range (starting_year , current_year + 1 ):
83- download_url = f"https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-{ year } .json.gz"
84- yield year , fetch (url = download_url )
85+ try :
86+ for year in range (starting_year , current_year + 1 ):
87+ try :
88+ download_url = f"https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-{ year } .json.gz"
89+ yield year , fetch (url = download_url )
90+ finally :
91+ progress_bar_for_records_fetched .next ()
92+ finally :
93+ progress_bar_for_records_fetched .finish ()
8594
8695
8796def to_advisories (cve_data ):
Original file line number Diff line number Diff line change 88#
99import traceback
1010
11+ import progress
1112from django .core .management .base import BaseCommand
1213from django .core .management .base import CommandError
13-
14+ from progress . bar import IncrementalBar
1415from vulnerabilities .import_runner import ImportRunner
1516from vulnerabilities .importers import IMPORTERS_REGISTRY
1617
@@ -54,9 +55,10 @@ def import_data(self, importers):
5455 names for the importers.
5556 """
5657 failed_importers = []
57-
58+ progress_bar_for_import = IncrementalBar ("Fetching Data from Databases" , max = len (importers ))
59+ progress_bar_for_import .start ()
5860 for importer in importers :
59- self .stdout .write (f"Importing data using { importer .qualified_name } " )
61+ self .stdout .write (f"\n Importing data using { importer .qualified_name } " )
6062 try :
6163 ImportRunner (importer ).run ()
6264 self .stdout .write (
@@ -72,6 +74,9 @@ def import_data(self, importers):
7274 f"Failed to run importer { importer .qualified_name } . Continuing..."
7375 )
7476 )
77+ finally :
78+ progress_bar_for_import .next ()
79+ progress_bar_for_import .finish ()
7580
7681 if failed_importers :
7782 raise CommandError (f"{ len (failed_importers )} failed!: { ',' .join (failed_importers )} " )
You can’t perform that action at this time.
0 commit comments