diff options
author | Kenneth Reitz <me@kennethreitz.org> | 2017-06-09 12:55:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-09 12:55:09 -0400 |
commit | 989e1e275302402fc12b9d1e1ef33e77c8a7fdea (patch) | |
tree | ed221fe03cee4f0ffebad53cb3ce64b71589d3ed | |
parent | 2872f17ab86583294907af84b9c36e63cd9a91ad (diff) | |
download | python-requests-revert-4144-move_compat_to_warn.tar.gz |
Revert "Convert version compatibility checks to warnings"revert-4144-move_compat_to_warn
-rw-r--r-- | requests/__init__.py | 52 | ||||
-rw-r--r-- | requests/exceptions.py | 5 |
2 files changed, 22 insertions, 35 deletions
diff --git a/requests/__init__.py b/requests/__init__.py index 90a0d11a..d4461ec9 100644 --- a/requests/__init__.py +++ b/requests/__init__.py @@ -40,44 +40,34 @@ is at <http://python-requests.org>. :license: Apache 2.0, see LICENSE for more details. """ +# Check urllib3 for compatibility. import urllib3 -import chardet -import warnings -from .exceptions import RequestsDependencyWarning - - -def check_compatibility(urllib3_version, chardet_version): - urllib3_version = urllib3_version.split('.') - assert urllib3_version != ['dev'] # Verify urllib3 isn't installed from git. - - # Sometimes, urllib3 only reports its version as 16.1. - if len(urllib3_version) == 2: - urllib3_version.append('0') - - # Check urllib3 for compatibility. - major, minor, patch = urllib3_version # noqa: F811 - major, minor, patch = int(major), int(minor), int(patch) - # urllib3 >= 1.21.1, < 1.22 +urllib3_version = urllib3.__version__.split('.') +# Sometimes, urllib3 only reports its version as 16.1. +if len(urllib3_version) == 2: + urllib3_version.append('0') +major, minor, patch = urllib3_version +major, minor, patch = int(major), int(minor), int(patch) +# urllib3 >= 1.21.1, < 1.22 +try: assert major == 1 assert minor >= 21 assert minor <= 22 +except AssertionError: + raise RuntimeError('Requests dependency \'urllib3\' must be version >= 1.21.1, < 1.22!') + - # Check chardet for compatibility. - major, minor, patch = chardet_version.split('.')[:3] - major, minor, patch = int(major), int(minor), int(patch) - # chardet >= 3.0.2, < 3.1.0 +# Check chardet for compatibility. +import chardet +major, minor, patch = chardet.__version__.split('.')[:3] +major, minor, patch = int(major), int(minor), int(patch) +# chardet >= 3.0.2, < 3.1.0 +try: assert major == 3 assert minor < 1 assert patch >= 2 - - -# Check imported dependencies for compatibility. -try: - check_compatibility(urllib3.__version__, chardet.__version__) -except (AssertionError, ValueError): - warnings.warn("urllib3 ({0}) or chardet ({1}) doesn't match a supported " - "version!".format(urllib3.__version__, chardet.__version__), - RequestsDependencyWarning) +except AssertionError: + raise RuntimeError('Requests dependency \'chardet\' must be version >= 3.0.2, < 3.1.0!') # Attempt to enable urllib3's SNI support, if possible try: @@ -86,6 +76,8 @@ try: except ImportError: pass +import warnings + # urllib3's DependencyWarnings should be silenced. from urllib3.exceptions import DependencyWarning warnings.simplefilter('ignore', DependencyWarning) diff --git a/requests/exceptions.py b/requests/exceptions.py index be7eaed6..da5af10b 100644 --- a/requests/exceptions.py +++ b/requests/exceptions.py @@ -115,8 +115,3 @@ class RequestsWarning(Warning): class FileModeWarning(RequestsWarning, DeprecationWarning): """A file was opened in text mode, but Requests determined its binary length.""" pass - - -class RequestsDependencyWarning(RequestsWarning): - """An imported dependency doesn't match the expected version range.""" - pass |