diff --git a/Makefile b/Makefile index 5eadf3b5..f90248f7 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ test-readme: python setup.py check -r -s flake8: - flake8 --ignore=E501 requests + flake8 --ignore=E501,F401,E128,E402,E731,F821 requests coverage: py.test --cov-config .coveragerc --verbose --cov-report term --cov-report xml --cov=requests tests diff --git a/requests/__init__.py b/requests/__init__.py index 690320b1..d4461ec9 100644 --- a/requests/__init__.py +++ b/requests/__init__.py @@ -40,10 +40,6 @@ is at . :license: Apache 2.0, see LICENSE for more details. """ -from .__version__ import __title__, __description__, __url__, __version__ -from .__version__ import __build__, __author__, __author_email__, __license__ -from .__version__ import __copyright__, __cake__ - # Check urllib3 for compatibility. import urllib3 urllib3_version = urllib3.__version__.split('.') @@ -86,6 +82,10 @@ import warnings from urllib3.exceptions import DependencyWarning warnings.simplefilter('ignore', DependencyWarning) +from .__version__ import __title__, __description__, __url__, __version__ +from .__version__ import __build__, __author__, __author_email__, __license__ +from .__version__ import __copyright__, __cake__ + from . import utils from . import packages from .models import Request, Response, PreparedRequest diff --git a/requests/__version__.py b/requests/__version__.py index dddd0349..b21ba352 100644 --- a/requests/__version__.py +++ b/requests/__version__.py @@ -12,5 +12,3 @@ __author_email__ = 'me@kennethreitz.org' __license__ = 'Apache 2.0' __copyright__ = 'Copyright 2017 Kenneth Reitz' __cake__ = u'\u2728 \U0001f370 \u2728' - - diff --git a/requests/api.py b/requests/api.py index 0b24e0ff..b2ce1a96 100644 --- a/requests/api.py +++ b/requests/api.py @@ -137,7 +137,7 @@ def patch(url, data=None, **kwargs): :rtype: requests.Response """ - return request('patch', url, data=data, **kwargs) + return request('patch', url, data=data, **kwargs) def delete(url, **kwargs): diff --git a/requests/auth.py b/requests/auth.py index a44b4d15..1a182dff 100644 --- a/requests/auth.py +++ b/requests/auth.py @@ -192,7 +192,7 @@ class HTTPDigestAuth(AuthBase): elif qop == 'auth' or 'auth' in qop.split(','): noncebit = "%s:%s:%s:%s:%s" % ( nonce, ncvalue, cnonce, 'auth', HA2 - ) + ) respdig = KD(HA1, noncebit) else: # XXX handle auth-int. diff --git a/requests/cookies.py b/requests/cookies.py index 6484af6b..ab3c88b9 100644 --- a/requests/cookies.py +++ b/requests/cookies.py @@ -306,8 +306,10 @@ class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping): """ dictionary = {} for cookie in iter(self): - if (domain is None or cookie.domain == domain) and (path is None - or cookie.path == path): + if ( + (domain is None or cookie.domain == domain) and + (path is None or cookie.path == path) + ): dictionary[cookie.name] = cookie.value return dictionary diff --git a/requests/exceptions.py b/requests/exceptions.py index 9684d9e5..da5af10b 100644 --- a/requests/exceptions.py +++ b/requests/exceptions.py @@ -100,6 +100,7 @@ class StreamConsumedError(RequestException, TypeError): class RetryError(RequestException): """Custom retries logic failed""" + class UnrewindableBodyError(RequestException): """Requests encountered an error when trying to rewind a body""" diff --git a/requests/help.py b/requests/help.py index bbe44c86..ac0691e3 100644 --- a/requests/help.py +++ b/requests/help.py @@ -44,7 +44,7 @@ def _implementation(): if sys.pypy_version_info.releaselevel != 'final': implementation_version = ''.join([ implementation_version, sys.pypy_version_info.releaselevel - ]) + ]) elif implementation == 'Jython': implementation_version = platform.python_version() # Complete Guess elif implementation == 'IronPython': @@ -101,10 +101,11 @@ def info(): }, } + def main(): """Pretty-print the bug information as JSON.""" print(json.dumps(info(), sort_keys=True, indent=2)) + if __name__ == '__main__': main() - diff --git a/requests/models.py b/requests/models.py index c22cc1c9..1375a3af 100644 --- a/requests/models.py +++ b/requests/models.py @@ -215,8 +215,9 @@ class Request(RequestHooksMixin): """ - def __init__(self, method=None, url=None, headers=None, files=None, - data=None, params=None, auth=None, cookies=None, hooks=None, json=None): + def __init__(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): # Default empty dicts for dict params. data = [] if data is None else data @@ -295,8 +296,9 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): #: integer denoting starting position of a readable file-like body. self._body_position = None - def prepare(self, method=None, url=None, headers=None, files=None, - data=None, params=None, auth=None, cookies=None, hooks=None, json=None): + def prepare(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): """Prepares the entire request with the given parameters.""" self.prepare_method(method) diff --git a/requests/sessions.py b/requests/sessions.py index a0f290b7..db913089 100755 --- a/requests/sessions.py +++ b/requests/sessions.py @@ -114,7 +114,7 @@ class SessionRedirectMixin(object): verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs): """Receives a Response. Returns a generator of Responses or Requests.""" - hist = [] # keep track of history + hist = [] # keep track of history url = self.get_redirect_target(resp) while url: @@ -433,20 +433,9 @@ class Session(SessionRedirectMixin): return p def request(self, method, url, - params=None, - data=None, - headers=None, - cookies=None, - files=None, - auth=None, - timeout=None, - allow_redirects=True, - proxies=None, - hooks=None, - stream=None, - verify=None, - cert=None, - json=None): + params=None, data=None, headers=None, cookies=None, files=None, + auth=None, timeout=None, allow_redirects=True, proxies=None, + hooks=None, stream=None, verify=None, cert=None, json=None): """Constructs a :class:`Request `, prepares it and sends it. Returns :class:`Response ` object. @@ -485,16 +474,16 @@ class Session(SessionRedirectMixin): """ # Create the Request. req = Request( - method = method.upper(), - url = url, - headers = headers, - files = files, - data = data or {}, - json = json, - params = params or {}, - auth = auth, - cookies = cookies, - hooks = hooks, + method=method.upper(), + url=url, + headers=headers, + files=files, + data=data or {}, + json=json, + params=params or {}, + auth=auth, + cookies=cookies, + hooks=hooks, ) prep = self.prepare_request(req) @@ -579,7 +568,7 @@ class Session(SessionRedirectMixin): :rtype: requests.Response """ - return self.request('PATCH', url, data=data, **kwargs) + return self.request('PATCH', url, data=data, **kwargs) def delete(self, url, **kwargs): r"""Sends a DELETE request. Returns :class:`Response` object. diff --git a/requests/utils.py b/requests/utils.py index 056f6fb3..25af9923 100644 --- a/requests/utils.py +++ b/requests/utils.py @@ -494,8 +494,7 @@ def get_unicode_from_response(r): # The unreserved URI characters (RFC 3986) UNRESERVED_SET = frozenset( - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - + "0123456789-._~") + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + "0123456789-._~") def unquote_unreserved(uri): @@ -851,6 +850,7 @@ def get_auth_from_url(url): _CLEAN_HEADER_REGEX_BYTE = re.compile(b'^\\S[^\\r\\n]*$|^$') _CLEAN_HEADER_REGEX_STR = re.compile(r'^\S[^\r\n]*$|^$') + def check_header_validity(header): """Verifies that header value is a string which doesn't contain leading whitespace or return characters. This prevents unintended @@ -888,6 +888,7 @@ def urldefragauth(url): return urlunparse((scheme, netloc, path, params, query, '')) + def rewind_body(prepared_request): """Move file pointer back to its recorded starting position so it can be read again on redirect.