Skip to content

Commit 1c8f6fc

Browse files
committed
Add Progress bar to AlpineImporter
Signed-off-by: Harsh Mishra <hmisraji07@gmail.com>
1 parent 7b16b39 commit 1c8f6fc

1 file changed

Lines changed: 21 additions & 12 deletions

File tree

vulnerabilities/importers/alpine_linux.py

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
from bs4 import BeautifulSoup
1919
from packageurl import PackageURL
20+
from progress.bar import ChargingBar
2021
from univers.versions import AlpineLinuxVersion
2122

2223
from vulnerabilities.importer import AdvisoryData
@@ -41,18 +42,26 @@ def advisory_data(self) -> Iterable[AdvisoryData]:
4142
page_response_content = fetch_response(BASE_URL).content
4243
advisory_directory_links = fetch_advisory_directory_links(page_response_content)
4344
advisory_links = []
44-
for advisory_directory_link in advisory_directory_links:
45-
advisory_directory_page = fetch_response(advisory_directory_link).content
46-
advisory_links.extend(
47-
fetch_advisory_links(advisory_directory_page, advisory_directory_link)
48-
)
49-
for link in advisory_links:
50-
record = fetch_response(link).json()
51-
if not record["packages"]:
52-
LOGGER.error(f'"packages" not found in {link!r}')
53-
continue
54-
yield from process_record(record=record, url=link)
55-
45+
progress_for_package_fetch = ChargingBar("\tFetching Packages", max=len(advisory_directory_links))
46+
47+
try:
48+
progress_for_package_fetch.start()
49+
for advisory_directory_link in advisory_directory_links:
50+
advisory_directory_page = fetch_response(advisory_directory_link).content
51+
advisory_links.extend(
52+
fetch_advisory_links(advisory_directory_page, advisory_directory_link)
53+
)
54+
for link in advisory_links:
55+
try:
56+
record = fetch_response(link).json()
57+
if not record["packages"]:
58+
LOGGER.error(f'"packages" not found in {link!r}')
59+
continue
60+
yield from process_record(record=record, url=link)
61+
finally:
62+
progress_for_package_fetch.next()
63+
finally:
64+
progress_for_package_fetch.finish()
5665

5766
def fetch_advisory_directory_links(page_response_content: str) -> List[str]:
5867
"""

0 commit comments

Comments
 (0)