-
Notifications
You must be signed in to change notification settings - Fork 51
Closed
Description
I was running some code that updates purls based on download URLs and url2purl
crashed on the URL http://apt-rpm.org/
Traceback (most recent call last):
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/packageurl/contrib/url2purl.py", line 54, in url2purl
return purl_router.process(url)
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/packageurl/contrib/route.py", line 174, in process
endpoint = self.resolve(string)
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/packageurl/contrib/route.py", line 197, in resolve
raise NoRouteAvailable(string)
packageurl.contrib.route.NoRouteAvailable: http://apt-rpm.org/
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/home/jono/nexb/src/dejacode/component_catalog/management/commands/setpurls.py", line 79, in handle
package_url = url2purl.get_purl(package.download_url)
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/packageurl/contrib/url2purl.py", line 58, in url2purl
return build_generic_purl(url)
File "/home/jono/nexb/src/dejacode/lib/python3.6/site-packages/packageurl/contrib/url2purl.py", line 105, in build_generic_purl
file_name = uri_path_segments[-1]
IndexError: list index out of range
We should check after https://github.com/package-url/packageurl-python/blob/main/src/packageurl/contrib/url2purl.py#L104 to see if we have URL path segments before creating a purl.
Metadata
Metadata
Assignees
Labels
No labels