@@ -87,8 +87,10 @@ def get_launchpad_versions_from_purl(purl):
8787 value = source_package_version ,
8888 release_date = release_date ,
8989 )
90- if response .get ("next_collection_link" ):
91- url = response ["next_collection_link" ]
90+
91+ next_collection_link = response .get ("next_collection_link" )
92+ if next_collection_link :
93+ url = next_collection_link
9294 else :
9395 break
9496
@@ -99,7 +101,6 @@ def get_pypi_versions_from_purl(purl):
99101 purl = PackageURL .from_string (purl )
100102 response = get_response (url = f"https://pypi.org/pypi/{ purl .name } /json" )
101103 if not response :
102- # FIXME: raise!
103104 return
104105
105106 releases = response .get ("releases" ) or {}
@@ -139,14 +140,18 @@ def get_gem_versions_from_purl(purl):
139140 if not response :
140141 return
141142 for release in response :
142- if release .get ("published_at" ):
143- release_date = dateparser .parse (release ["published_at" ])
144- elif release .get ("created_at" ):
145- release_date = dateparser .parse (release ["created_at" ])
146- else :
147- release_date = None
148- if release .get ("number" ):
149- yield PackageVersion (value = release ["number" ], release_date = release_date )
143+ published_at = release .get ("published_at" )
144+ created_at = release .get ("created_at" )
145+ number = release .get ("number" )
146+ release_date = None
147+
148+ if published_at :
149+ release_date = dateparser .parse (published_at )
150+ elif created_at :
151+ release_date = dateparser .parse (created_at )
152+
153+ if number :
154+ yield PackageVersion (value = number , release_date = release_date )
150155 else :
151156 logger .error (f"Failed to parse release { release } from url: { url } " )
152157
@@ -329,8 +334,10 @@ def trim_go_url_path(url_path: str) -> Optional[str]:
329334 >>> assert trim_go_url_path("https://github.com/xx/a/b") == module
330335 """
331336 # some advisories contains this prefix in package name, e.g. https://github.com/advisories/GHSA-7h6j-2268-fhcm
332- if url_path .startswith ("https://pkg.go.dev/" ):
333- url_path = url_path [len ("https://pkg.go.dev/" ) :]
337+ go_url_prefix = "https://pkg.go.dev/"
338+ if url_path .startswith (go_url_prefix ):
339+ url_path = url_path [len (go_url_prefix ):]
340+
334341 parsed_url_path = urlparse (url_path )
335342 path = parsed_url_path .path
336343 parts = path .split ("/" )
0 commit comments