summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.org>2017-06-09 12:55:09 -0400
committerGitHub <noreply@github.com>2017-06-09 12:55:09 -0400
commit989e1e275302402fc12b9d1e1ef33e77c8a7fdea (patch)
treeed221fe03cee4f0ffebad53cb3ce64b71589d3ed
parent2872f17ab86583294907af84b9c36e63cd9a91ad (diff)
downloadpython-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__.py52
-rw-r--r--requests/exceptions.py5
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