File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2424# Visit https://github.com/package-url/packageurl-python for support and
2525# download.
2626
27+
2728from packageurl import PackageURL
2829from packageurl .contrib .route import NoRouteAvailable
2930from packageurl .contrib .route import Router
@@ -75,7 +76,12 @@ def get_download_url(purl):
7576 return download_url
7677
7778 # Fallback on the `download_url` qualifier when available.
78- purl_data = PackageURL .from_string (purl )
79+ purl_data = None
80+ try :
81+ purl_data = PackageURL .from_string (purl )
82+ except Exception as e :
83+ print (f"An error occurred in get_download_url(): { e } " )
84+ return
7985 return purl_data .qualifiers .get ("download_url" , None )
8086
8187
@@ -309,13 +315,18 @@ def build_cocoapods_repo_url(purl):
309315 """
310316 Return a CocoaPods repo URL from the `purl` string.
311317 """
312- purl_data = PackageURL .from_string (purl )
313- name = purl_data .name
314-
315- if name :
316- repository_homepage_url = f"https://cocoapods.org/pods/{ name } "
318+ purl_data = None
319+ name = None
320+ try :
321+ purl_data = PackageURL .from_string (purl )
322+ name = purl_data .name
323+ except Exception as e :
324+ print (f"An error occurred in build_cocoapods_repo_url(): { e } " )
325+ return
317326
318- return repository_homepage_url
327+ if not name :
328+ return
329+ return f"https://cocoapods.org/pods/{ name } "
319330
320331
321332# Download URLs:
Original file line number Diff line number Diff line change @@ -66,6 +66,7 @@ def test_purl2url_get_repo_url():
6666 "pkg:golang/gopkg.in/ldap.v3@v3.1.0" : "https://pkg.go.dev/gopkg.in/ldap.v3@v3.1.0" ,
6767 "pkg:cocoapods/AFNetworking@4.0.1" : "https://cocoapods.org/pods/AFNetworking" ,
6868 "pkg:cocoapods/MapsIndoors@3.24.0" : "https://cocoapods.org/pods/MapsIndoors" ,
69+ "pkg:cocoapods/" : None ,
6970 }
7071
7172 for purl , url in purls_url .items ():
@@ -140,6 +141,7 @@ def test_purl2url_get_inferred_urls():
140141 "https://pypi.org/project/sortedcontainers/2.4.0/"
141142 ],
142143 "pkg:cocoapods/AFNetworking@4.0.1" : ["https://cocoapods.org/pods/AFNetworking" ],
144+ "pkg:cocoapods/" : [],
143145 "pkg:composer/psr/log@1.1.3" : ["https://packagist.org/packages/psr/log#1.1.3" ],
144146 "pkg:rubygems/package-name" : ["https://rubygems.org/gems/package-name" ],
145147 "pkg:bitbucket/birkenfeld" : [],
You can’t perform that action at this time.
0 commit comments