From c16b2c1c769a2c7c8d93707ff44ac00894501c6f Mon Sep 17 00:00:00 2001
From: Dustyn Gibson <dustyn.gibson@gmail.com>
Date: Thu, 30 Apr 2015 00:57:22 -0700
Subject: [PATCH] Make sure we are using our included libs, and not system
 libs, by providing the full path

---
 autoProcessTV/autoProcessTV.py                |  4 ++--
 autoProcessTV/mediaToSickbeard.py             |  2 +-
 lib/adba/aniDBfileInfo.py                     |  2 +-
 lib/cachecontrol/__init__.py                  |  2 +-
 lib/cachecontrol/adapter.py                   |  2 +-
 lib/cachecontrol/compat.py                    |  2 +-
 lib/cachecontrol/controller.py                |  2 +-
 lib/cachecontrol/patch_requests.py            |  8 ++++----
 lib/cachecontrol/serialize.py                 |  2 +-
 lib/cachecontrol/session.py                   |  4 ++--
 lib/fanart/core.py                            |  2 +-
 lib/fanart/items.py                           |  2 +-
 lib/rtorrent/lib/xmlrpc/requests_transport.py | 10 +++++-----
 lib/subliminal/services/__init__.py           |  2 +-
 lib/subliminal/services/itasa.py              |  2 +-
 lib/trakt/trakt.py                            |  2 +-
 lib/tvdb_api/tvdb_api.py                      |  4 ++--
 lib/tvrage_api/tvrage_api.py                  |  6 +++---
 sickbeard/helpers.py                          |  5 ++---
 sickbeard/providers/bitsoup.py                |  4 ++--
 sickbeard/providers/generic.py                |  2 +-
 21 files changed, 35 insertions(+), 36 deletions(-)

diff --git a/autoProcessTV/autoProcessTV.py b/autoProcessTV/autoProcessTV.py
index 29b8cea6..d8abf60e 100755
--- a/autoProcessTV/autoProcessTV.py
+++ b/autoProcessTV/autoProcessTV.py
@@ -26,7 +26,7 @@ import sys
 sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), 'lib')))
 
 try:
-    import requests
+    from lib import requests
 except ImportError:
     print ("You need to install python requests library")
     sys.exit(1)
@@ -142,4 +142,4 @@ def processEpisode(dir_to_process, org_NZB_name=None, status=None):
 if __name__ == "__main__":
     print ("This module is supposed to be used as import in other scripts and not run standalone.")
     print ("Use sabToSickBeard instead.")
-    sys.exit(1)
\ No newline at end of file
+    sys.exit(1)
diff --git a/autoProcessTV/mediaToSickbeard.py b/autoProcessTV/mediaToSickbeard.py
index ba0d3caf..60847bfe 100755
--- a/autoProcessTV/mediaToSickbeard.py
+++ b/autoProcessTV/mediaToSickbeard.py
@@ -10,7 +10,7 @@ sys.path.append(os.path.join( sickbeardPath, 'lib'))
 sys.path.append(sickbeardPath)
 configFilename = os.path.join(sickbeardPath, "config.ini")
 
-import requests
+from lib import requests
 
 config = ConfigParser.ConfigParser()
 
diff --git a/lib/adba/aniDBfileInfo.py b/lib/adba/aniDBfileInfo.py
index fb7bd606..ba715b86 100644
--- a/lib/adba/aniDBfileInfo.py
+++ b/lib/adba/aniDBfileInfo.py
@@ -23,7 +23,7 @@ import xml.etree.cElementTree as etree
 import time
 
 # http://www.radicand.org/blog/orz/2010/2/21/edonkey2000-hash-in-python/
-import requests
+from lib import requests
 
 
 def get_file_hash(filePath):
diff --git a/lib/cachecontrol/__init__.py b/lib/cachecontrol/__init__.py
index 9247f08e..fe9875d9 100644
--- a/lib/cachecontrol/__init__.py
+++ b/lib/cachecontrol/__init__.py
@@ -6,5 +6,5 @@ from .wrapper import CacheControl
 from .adapter import CacheControlAdapter
 from .controller import CacheController
 
-from requests.packages import urllib3
+from lib.requests.packages import urllib3
 urllib3.disable_warnings()
diff --git a/lib/cachecontrol/adapter.py b/lib/cachecontrol/adapter.py
index b43b0f06..ef302ace 100644
--- a/lib/cachecontrol/adapter.py
+++ b/lib/cachecontrol/adapter.py
@@ -1,4 +1,4 @@
-from requests.adapters import HTTPAdapter
+from lib.requests.adapters import HTTPAdapter
 
 from .controller import CacheController
 from .cache import DictCache
diff --git a/lib/cachecontrol/compat.py b/lib/cachecontrol/compat.py
index cb6e1b0b..aa117d02 100644
--- a/lib/cachecontrol/compat.py
+++ b/lib/cachecontrol/compat.py
@@ -21,6 +21,6 @@ except ImportError:
 # Handle the case where the requests has been patched to not have urllib3
 # bundled as part of it's source.
 try:
-    from requests.packages.urllib3.response import HTTPResponse
+    from lib.requests.packages.urllib3.response import HTTPResponse
 except ImportError:
     from urllib3.response import HTTPResponse
diff --git a/lib/cachecontrol/controller.py b/lib/cachecontrol/controller.py
index 9bf9186c..cab3dd2d 100644
--- a/lib/cachecontrol/controller.py
+++ b/lib/cachecontrol/controller.py
@@ -6,7 +6,7 @@ import calendar
 import time
 import datetime
 
-from requests.structures import CaseInsensitiveDict
+from lib.requests.structures import CaseInsensitiveDict
 
 from .cache import DictCache
 from .compat import parsedate_tz
diff --git a/lib/cachecontrol/patch_requests.py b/lib/cachecontrol/patch_requests.py
index 3399223a..a5e02d10 100644
--- a/lib/cachecontrol/patch_requests.py
+++ b/lib/cachecontrol/patch_requests.py
@@ -1,7 +1,7 @@
-import requests
+from lib import requests
 
-from requests import models
-from requests.packages.urllib3.response import HTTPResponse
+from lib.requests import models
+from lib.requests.packages.urllib3.response import HTTPResponse
 
 __attrs__ = [
     '_content',
@@ -53,4 +53,4 @@ def make_responses_pickleable():
         pass
 
 
-make_responses_pickleable()
\ No newline at end of file
+make_responses_pickleable()
diff --git a/lib/cachecontrol/serialize.py b/lib/cachecontrol/serialize.py
index 5316fa1c..fd49a42f 100644
--- a/lib/cachecontrol/serialize.py
+++ b/lib/cachecontrol/serialize.py
@@ -1,6 +1,6 @@
 import io
 
-from requests.structures import CaseInsensitiveDict
+from lib.requests.structures import CaseInsensitiveDict
 
 from .compat import HTTPResponse, pickle
 
diff --git a/lib/cachecontrol/session.py b/lib/cachecontrol/session.py
index 1758cd6b..15211fa5 100644
--- a/lib/cachecontrol/session.py
+++ b/lib/cachecontrol/session.py
@@ -1,4 +1,4 @@
-from requests.sessions import Session
+from lib.requests.sessions import Session
 
 class CacheControlSession(Session):
     def __init__(self):
@@ -31,4 +31,4 @@ class CacheControlSession(Session):
         req.cache_urls = self.cache_urls
         req.cache_max_age = self.cache_max_age
 
-        return req
\ No newline at end of file
+        return req
diff --git a/lib/fanart/core.py b/lib/fanart/core.py
index 6b3af96d..14a6975b 100644
--- a/lib/fanart/core.py
+++ b/lib/fanart/core.py
@@ -1,4 +1,4 @@
-import requests
+from lib import requests
 import fanart
 from fanart.errors import RequestFanartError, ResponseFanartError
 
diff --git a/lib/fanart/items.py b/lib/fanart/items.py
index 778e1a1b..deca27d9 100644
--- a/lib/fanart/items.py
+++ b/lib/fanart/items.py
@@ -1,6 +1,6 @@
 import json
 import os
-import requests
+from lib import requests
 from fanart.core import Request
 from fanart.immutable import Immutable
 
diff --git a/lib/rtorrent/lib/xmlrpc/requests_transport.py b/lib/rtorrent/lib/xmlrpc/requests_transport.py
index 9a455677..ffa1ea97 100644
--- a/lib/rtorrent/lib/xmlrpc/requests_transport.py
+++ b/lib/rtorrent/lib/xmlrpc/requests_transport.py
@@ -27,11 +27,11 @@ except ImportError:
 
 import traceback
 
-import requests
-from requests.exceptions import RequestException
-from requests.auth import HTTPBasicAuth
-from requests.auth import HTTPDigestAuth
-from requests.packages.urllib3 import disable_warnings  # @UnresolvedImport
+from lib import requests
+from lib.requests.exceptions import RequestException
+from lib.requests.auth import HTTPBasicAuth
+from lib.requests.auth import HTTPDigestAuth
+from lib.requests.packages.urllib3 import disable_warnings  # @UnresolvedImport
 
 
 class RequestsTransport(xmlrpc_client.Transport):
diff --git a/lib/subliminal/services/__init__.py b/lib/subliminal/services/__init__.py
index 3c24f2ee..044afc98 100644
--- a/lib/subliminal/services/__init__.py
+++ b/lib/subliminal/services/__init__.py
@@ -21,7 +21,7 @@ from ..language import language_set, Language
 from ..subtitles import EXTENSIONS
 import logging
 import os
-import requests
+from lib import requests
 import threading
 import zipfile
 import sys
diff --git a/lib/subliminal/services/itasa.py b/lib/subliminal/services/itasa.py
index 685da34e..5a9a8414 100644
--- a/lib/subliminal/services/itasa.py
+++ b/lib/subliminal/services/itasa.py
@@ -26,7 +26,7 @@ from bs4 import BeautifulSoup
 import logging
 import re
 import os
-import requests
+from lib import requests
 import zipfile
 import StringIO
 import guessit
diff --git a/lib/trakt/trakt.py b/lib/trakt/trakt.py
index 819dd379..8381e22f 100644
--- a/lib/trakt/trakt.py
+++ b/lib/trakt/trakt.py
@@ -1,4 +1,4 @@
-import requests
+from lib import requests
 import json
 from sickbeard import logger
 
diff --git a/lib/tvdb_api/tvdb_api.py b/lib/tvdb_api/tvdb_api.py
index fadbcee5..1c6531de 100644
--- a/lib/tvdb_api/tvdb_api.py
+++ b/lib/tvdb_api/tvdb_api.py
@@ -21,8 +21,8 @@ import warnings
 import logging
 import zipfile
 import datetime as dt
-import requests
-import requests.exceptions
+from lib import requests
+from lib.requests import exceptions
 import xmltodict
 
 try:
diff --git a/lib/tvrage_api/tvrage_api.py b/lib/tvrage_api/tvrage_api.py
index d7a93a90..25f0960f 100644
--- a/lib/tvrage_api/tvrage_api.py
+++ b/lib/tvrage_api/tvrage_api.py
@@ -23,8 +23,8 @@ import tempfile
 import warnings
 import logging
 import datetime as dt
-import requests
-import requests.exceptions
+from lib import requests
+from lib.requests import exceptions
 import xmltodict
 
 try:
@@ -33,7 +33,7 @@ except ImportError:
     import xml.etree.ElementTree as ElementTree
 
 from lib.dateutil.parser import parse
-from cachecontrol import CacheControl, caches
+from lib.cachecontrol import CacheControl, caches
 
 from tvrage_ui import BaseUI
 from tvrage_exceptions import (tvrage_error, tvrage_userabort, tvrage_shownotfound, tvrage_showincomplete,
diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py
index 1d0d041d..72dbd68a 100644
--- a/sickbeard/helpers.py
+++ b/sickbeard/helpers.py
@@ -42,8 +42,7 @@ import operator
 import sickbeard
 import subliminal
 import adba
-import requests
-import requests.exceptions
+from lib import requests
 import xmltodict
 
 import subprocess
@@ -56,7 +55,7 @@ from sickbeard import encodingKludge as ek
 from sickbeard import notifiers
 from sickbeard import clients
 
-from cachecontrol import CacheControl, caches
+from lib.cachecontrol import CacheControl, caches
 from itertools import izip, cycle
 
 import shutil
diff --git a/sickbeard/providers/bitsoup.py b/sickbeard/providers/bitsoup.py
index 790063ec..080bcaf0 100644
--- a/sickbeard/providers/bitsoup.py
+++ b/sickbeard/providers/bitsoup.py
@@ -21,8 +21,8 @@ import traceback
 import datetime
 import sickbeard
 import generic
-import requests
-import requests.exceptions
+from lib import requests
+from lib.requests import exceptions
 import urllib
 
 from sickbeard.common import Quality
diff --git a/sickbeard/providers/generic.py b/sickbeard/providers/generic.py
index 8fee80a5..f6ec5abe 100644
--- a/sickbeard/providers/generic.py
+++ b/sickbeard/providers/generic.py
@@ -26,7 +26,7 @@ import itertools
 import urllib
 
 import sickbeard
-import requests
+from lib import requests
 
 from sickbeard import helpers, classes, logger, db
 from sickbeard.common import MULTI_EP_RESULT, SEASON_RESULT, USER_AGENT
-- 
GitLab