From 177f4dd2a497e3db0e9d62ed0958183f4e9609c9 Mon Sep 17 00:00:00 2001 From: aless10 Date: Sun, 17 Feb 2019 19:06:01 +0100 Subject: [PATCH] [fix] fix failing doctests in requests/* [add] add --doctest-modules in pytest.ini file as addopts [add] add myself to AUTHORS --- AUTHORS.rst | 1 + pytest.ini | 2 +- requests/__init__.py | 19 ++++++------------- requests/api.py | 1 + requests/models.py | 1 + requests/sessions.py | 2 +- requests/status_codes.py | 2 +- requests/utils.py | 6 +++++- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/AUTHORS.rst b/AUTHORS.rst index f0ee696b..9e450af8 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -189,3 +189,4 @@ Patches and Suggestions - Darren Dormer (`@ddormer `_) - Rajiv Mayani (`@mayani `_) - Antti Kaihola (`@akaihola `_) +- Alessio Izzo (`@aless10 `_) \ No newline at end of file diff --git a/pytest.ini b/pytest.ini index c1fa8785..1f03c72f 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,2 @@ [pytest] -addopts = -p no:warnings \ No newline at end of file +addopts = -p no:warnings --doctest-modules \ No newline at end of file diff --git a/requests/__init__.py b/requests/__init__.py index bc168ee5..a21c5ff9 100644 --- a/requests/__init__.py +++ b/requests/__init__.py @@ -9,29 +9,22 @@ Requests HTTP Library ~~~~~~~~~~~~~~~~~~~~~ -Requests is an HTTP library, written in Python, for human beings. Basic GET -usage: +Requests is an HTTP library, written in Python, for human beings. +Basic GET usage: >>> import requests >>> r = requests.get('https://www.python.org') >>> r.status_code 200 - >>> 'Python is a programming language' in r.content + >>> b'Python is a programming language' in r.content True -... or POST: +Basic POST usage: >>> payload = dict(key1='value1', key2='value2') >>> r = requests.post('https://httpbin.org/post', data=payload) - >>> print(r.text) - { - ... - "form": { - "key2": "value2", - "key1": "value1" - }, - ... - } + >>> r.json() + {'args': {}, 'data': '', 'files': {}, 'form': {'key1': 'value1', 'key2': 'value2'}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'close', 'Content-Length': '23', 'Content-Type': 'application/x-www-form-urlencoded', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/...'}, 'json': None, 'origin': '...', 'url': 'https://httpbin.org/post'} The other HTTP methods are supported - see `requests.api`. Full documentation is at . diff --git a/requests/api.py b/requests/api.py index ef71d075..f99cc3a8 100644 --- a/requests/api.py +++ b/requests/api.py @@ -50,6 +50,7 @@ def request(method, url, **kwargs): >>> import requests >>> req = requests.request('GET', 'https://httpbin.org/get') + >>> req """ diff --git a/requests/models.py b/requests/models.py index 62dcd0b7..8265bce6 100644 --- a/requests/models.py +++ b/requests/models.py @@ -280,6 +280,7 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): >>> import requests >>> req = requests.Request('GET', 'https://httpbin.org/get') >>> r = req.prepare() + >>> r >>> s = requests.Session() diff --git a/requests/sessions.py b/requests/sessions.py index d73d700f..c5d01229 100644 --- a/requests/sessions.py +++ b/requests/sessions.py @@ -352,7 +352,7 @@ class Session(SessionRedirectMixin): Or as a context manager:: >>> with requests.Session() as s: - >>> s.get('https://httpbin.org/get') + ... s.get('https://httpbin.org/get') """ diff --git a/requests/status_codes.py b/requests/status_codes.py index 813e8c4e..4e99ad73 100644 --- a/requests/status_codes.py +++ b/requests/status_codes.py @@ -4,7 +4,7 @@ r""" The ``codes`` object defines a mapping from common names for HTTP statuses to their numerical codes, accessible either as attributes or as dictionary items. - +>>> import requests >>> requests.codes['temporary_redirect'] 307 >>> requests.codes.teapot diff --git a/requests/utils.py b/requests/utils.py index 8170a8d2..b64a577c 100644 --- a/requests/utils.py +++ b/requests/utils.py @@ -266,6 +266,8 @@ def from_key_val_list(value): >>> from_key_val_list([('key', 'val')]) OrderedDict([('key', 'val')]) >>> from_key_val_list('string') + Traceback (most recent call last): + ... ValueError: cannot encode objects that are not 2-tuples >>> from_key_val_list({'key': 'val'}) OrderedDict([('key', 'val')]) @@ -292,7 +294,9 @@ def to_key_val_list(value): >>> to_key_val_list({'key': 'val'}) [('key', 'val')] >>> to_key_val_list('string') - ValueError: cannot encode objects that are not 2-tuples. + Traceback (most recent call last): + ... + ValueError: cannot encode objects that are not 2-tuples :rtype: list """