Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve error message for short/long file tuples #299

Merged
merged 10 commits into from Dec 28, 2020

Conversation

twm
Copy link
Contributor

@twm twm commented Sep 30, 2020

If passed a tuple with a length other than 2 or 3 IBodyProducer would end up trying to adapt None, producing this confusing message:

Traceback (most recent call last):
  File ".../treq/test/test_client.py", line 513, in test_request_files_bad_tuples
    self.client.request(
  File ".../treq/client.py", line 190, in request
    bodyProducer, contentType = self._request_body(
  File ".../treq/client.py", line 297, in _request_body
    files = list(_convert_files(files, stacklevel=stacklevel + 2))
  File ".../treq/client.py", line 388, in _convert_files
    yield (param, (file_name, content_type, IBodyProducer(fobj)))
builtins.TypeError: ('Could not adapt', None, <InterfaceClass twisted.web.iweb.IBodyProducer>)

This changeset produces a TypeError that mentions tuple length.

If passed a tuple with a length other than 2 or 3 IBodyProducer would
end up trying to adapt None, producing this confusing message:

    Traceback (most recent call last):
      File ".../treq/test/test_client.py", line 513, in test_request_files_bad_tuples
        self.client.request(
      File ".../treq/client.py", line 190, in request
        bodyProducer, contentType = self._request_body(
      File ".../treq/client.py", line 297, in _request_body
        files = list(_convert_files(files))
      File ".../treq/client.py", line 388, in _convert_files
        yield (param, (file_name, content_type, IBodyProducer(fobj)))
    builtins.TypeError: ('Could not adapt', None, <InterfaceClass twisted.web.iweb.IBodyProducer>)

This changeset produces a TypeError that mentions tuple length.
@twm twm requested a review from Dec 27, 2020
Copy link
Member

@adiroiban adiroiban left a comment

Great work. Thank!

This can be merged. Only a minor comment that can be ignored.

src/treq/client.py Outdated Show resolved Hide resolved
@twm
Copy link
Contributor Author

@twm twm commented Dec 28, 2020

Thank you for the review @adiroiban!

@twm twm merged commit e7c56c1 into master Dec 28, 2020
38 checks passed
@twm twm deleted the ibodyproducer-files-tuples-length branch Dec 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants