Make requests an optional dependency

This commit is contained in:
Honza Kral
2013-10-14 23:33:16 +02:00
parent 70829a219b
commit e6e1fd060e
2 changed files with 10 additions and 3 deletions
+9 -2
View File
@@ -1,12 +1,16 @@
import time import time
import requests try:
import requests
REQUESTS_AVAILABLE = True
except ImportError:
REQUESTS_AVAILABLE = False
try: try:
from urllib import urlencode from urllib import urlencode
except ImportError: except ImportError:
from urllib.parse import urlencode from urllib.parse import urlencode
from .base import Connection from .base import Connection
from ..exceptions import ConnectionError from ..exceptions import ConnectionError, ImproperlyConfigured
class RequestsHttpConnection(Connection): class RequestsHttpConnection(Connection):
""" """
@@ -17,6 +21,9 @@ class RequestsHttpConnection(Connection):
:arg use_ssl: use ssl for the connection if `True` :arg use_ssl: use ssl for the connection if `True`
""" """
def __init__(self, host='localhost', port=9200, http_auth=None, use_ssl=False, **kwargs): def __init__(self, host='localhost', port=9200, http_auth=None, use_ssl=False, **kwargs):
if not REQUESTS_AVAILABLE:
raise ImproperlyConfigured("Please install requests to use RequestsHttpConnection.")
super(RequestsHttpConnection, self).__init__(host= host, port=port, **kwargs) super(RequestsHttpConnection, self).__init__(host= host, port=port, **kwargs)
self.session = requests.session() self.session = requests.session()
if http_auth is not None: if http_auth is not None:
+1 -1
View File
@@ -13,10 +13,10 @@ long_description = f.read().strip()
f.close() f.close()
install_requires = [ install_requires = [
'requests>=1.0.0, <3.0.0',
'urllib3>=1.5, <2.0', 'urllib3>=1.5, <2.0',
] ]
tests_require = [ tests_require = [
'requests>=1.0.0, <3.0.0',
'nose', 'nose',
'coverage', 'coverage',
'mock', 'mock',