fedora-python / pyp2rpm

Tool to convert a package from PyPI to RPM SPECFILE or to generate SRPM.
MIT License
123 stars 39 forks source link

Error not handled - but why the too many requests error on my first request? #248

Closed barry-scott closed 3 years ago

barry-scott commented 3 years ago

I'm on Fedora 32 and python 3.8.6

exceptions.MissingUrlException is passed the keyword exc_info=True which is not allowed by BaseException. Removing exc_info simple lets the tool fail with out any meaningful error message.

Why are there too many requests?

`$ pyp2rpm requests <ServerProxy for pypi.org/pypi> Traceback (most recent call last): File "/home/barry/.local/lib/python3.8/site-packages/pyp2rpm/package_getters.py", line 32, in get_url release_urls = client.release_urls(name, version) File "/usr/lib64/python3.8/xmlrpc/client.py", line 1109, in call return self.send(self.name, args) File "/usr/lib64/python3.8/xmlrpc/client.py", line 1450, in request response = self.transport.request( File "/usr/lib64/python3.8/xmlrpc/client.py", line 1153, in request return self.single_request(host, handler, request_body, verbose) File "/usr/lib64/python3.8/xmlrpc/client.py", line 1169, in single_request return self.parse_response(resp) File "/usr/lib64/python3.8/xmlrpc/client.py", line 1341, in parse_response return u.close() File "/usr/lib64/python3.8/xmlrpc/client.py", line 655, in close raise Fault(**self._stack[0]) xmlrpc.client.Fault: <Fault -32500: 'HTTPTooManyRequests: The action could not be performed because there were too many requests by the client. Limit may reset in 1 seconds.'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/barry/.local/bin/pyp2rpm", line 8, in sys.exit(main()) File "/usr/lib/python3.8/site-packages/click/core.py", line 829, in call return self.main(args, kwargs) File "/usr/lib/python3.8/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/usr/lib/python3.8/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "/usr/lib/python3.8/site-packages/click/core.py", line 610, in invoke return callback(args, **kwargs) File "/home/barry/.local/lib/python3.8/site-packages/pyp2rpm/bin.py", line 215, in main converted = convertor.convert() File "/home/barry/.local/lib/python3.8/site-packages/pyp2rpm/convertor.py", line 133, in convert local_file = self.getter.get() File "/home/barry/.local/lib/python3.8/site-packages/pyp2rpm/package_getters.py", line 168, in get url = get_url(self.client, self.name, self.version, File "/home/barry/.local/lib/python3.8/site-packages/pyp2rpm/package_getters.py", line 37, in get_url raise exceptions.MissingUrlException( TypeError: MissingUrlException() takes no keyword arguments `

barry-scott commented 3 years ago

I installed pyp2rpm from PyPi to debug this.

gordonmessmer commented 3 years ago

I expect to merge #247 to resolve this, shortly.

gordonmessmer commented 3 years ago

This issue is resolved in v3.3.5