From 4aa4fa5fcd935a81a3be529cd3ef79a5803e203b Mon Sep 17 00:00:00 2001
From: Nic Wolfe <nic@wolfeden.ca>
Date: Wed, 19 Jan 2011 19:42:20 -0700
Subject: [PATCH] Redo how libraries are imported so they can import each other
 (should fix the hachoir_metadata import bug)

---
 SickBeard.py                     | 5 ++++-
 lib/hachoir_metadata/__init__.py | 2 +-
 lib/oauth2/__init__.py           | 2 +-
 lib/pythontwitter/__init__.py    | 4 ++--
 lib/simplejson/decoder.py        | 4 ++--
 lib/simplejson/encoder.py        | 4 ++--
 lib/tvdb_api/tvdb_api.py         | 5 +----
 sickbeard/image_cache.py         | 3 ---
 8 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/SickBeard.py b/SickBeard.py
index 6efb57dfc..2465daf5a 100755
--- a/SickBeard.py
+++ b/SickBeard.py
@@ -32,6 +32,9 @@ import sqlite3
 import traceback
 import getopt
 
+# allow libraries to import each other
+sys.path.append(os.path.join(os.path.dirname(__file__), 'lib'))
+
 import sickbeard
 
 from sickbeard import db
@@ -95,7 +98,7 @@ def daemonize():
 def main():
 
     # do some preliminary stuff
-    sickbeard.MY_FULLNAME = os.path.normpath(os.path.abspath(sys.argv[0]))
+    sickbeard.MY_FULLNAME = os.path.normpath(os.path.abspath(__file__))
     sickbeard.MY_NAME = os.path.basename(sickbeard.MY_FULLNAME)
     sickbeard.PROG_DIR = os.path.dirname(sickbeard.MY_FULLNAME)
     sickbeard.MY_ARGS = sys.argv[1:]
diff --git a/lib/hachoir_metadata/__init__.py b/lib/hachoir_metadata/__init__.py
index 5ab4743cf..4f59b70d7 100644
--- a/lib/hachoir_metadata/__init__.py
+++ b/lib/hachoir_metadata/__init__.py
@@ -1,4 +1,4 @@
-from hachoir_metadata.version import VERSION as __version__
+from .hachoir_metadata.version import VERSION as __version__
 from hachoir_metadata.metadata import extractMetadata
 
 # Just import the module,
diff --git a/lib/oauth2/__init__.py b/lib/oauth2/__init__.py
index 2b9389096..a965fc71e 100644
--- a/lib/oauth2/__init__.py
+++ b/lib/oauth2/__init__.py
@@ -28,7 +28,7 @@ import random
 import urlparse
 import hmac
 import binascii
-import lib.httplib2 as httplib2
+import httplib2
 
 try:
     from urlparse import parse_qs, parse_qsl
diff --git a/lib/pythontwitter/__init__.py b/lib/pythontwitter/__init__.py
index badc70c31..9e101dc8c 100755
--- a/lib/pythontwitter/__init__.py
+++ b/lib/pythontwitter/__init__.py
@@ -42,7 +42,7 @@ try:
 except ImportError:
   try:
     # Python < 2.6
-    import lib.simplejson as simplejson
+    import simplejson
   except ImportError:
     try:
       # Google App Engine
@@ -61,7 +61,7 @@ try:
 except ImportError:
   from md5 import md5
 
-import lib.oauth2 as oauth
+import oauth2 as oauth
 
 
 CHARACTER_LIMIT = 140
diff --git a/lib/simplejson/decoder.py b/lib/simplejson/decoder.py
index dd57ddeef..b769ea486 100644
--- a/lib/simplejson/decoder.py
+++ b/lib/simplejson/decoder.py
@@ -4,9 +4,9 @@ import re
 import sys
 import struct
 
-from lib.simplejson.scanner import make_scanner
+from simplejson.scanner import make_scanner
 try:
-    from lib.simplejson._speedups import scanstring as c_scanstring
+    from simplejson._speedups import scanstring as c_scanstring
 except ImportError:
     c_scanstring = None
 
diff --git a/lib/simplejson/encoder.py b/lib/simplejson/encoder.py
index 15c35f7a1..cf5829036 100644
--- a/lib/simplejson/encoder.py
+++ b/lib/simplejson/encoder.py
@@ -3,11 +3,11 @@
 import re
 
 try:
-    from lib.simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii
+    from simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii
 except ImportError:
     c_encode_basestring_ascii = None
 try:
-    from lib.simplejson._speedups import make_encoder as c_make_encoder
+    from simplejson._speedups import make_encoder as c_make_encoder
 except ImportError:
     c_make_encoder = None
 
diff --git a/lib/tvdb_api/tvdb_api.py b/lib/tvdb_api/tvdb_api.py
index 1450ff466..288a46e9f 100644
--- a/lib/tvdb_api/tvdb_api.py
+++ b/lib/tvdb_api/tvdb_api.py
@@ -41,10 +41,7 @@ except ImportError:
 
 
 # Use local version for sickbeard, system version elsewhere
-try:
-    import lib.httplib2 as httplib2
-except ImportError:
-    import httplib2 as httplib2
+import httplib2
 
 from tvdb_ui import BaseUI, ConsoleUI
 from tvdb_exceptions import (tvdb_error, tvdb_userabort, tvdb_shownotfound,
diff --git a/sickbeard/image_cache.py b/sickbeard/image_cache.py
index be99a47e0..e242054b8 100644
--- a/sickbeard/image_cache.py
+++ b/sickbeard/image_cache.py
@@ -24,9 +24,6 @@ import sickbeard
 from sickbeard import helpers, logger, exceptions
 from sickbeard import encodingKludge as ek
 
-# this is such a hack, I really need to fix this crap
-sys.path.append(os.path.join(os.path.dirname(os.path.abspath(sys.argv[0])), 'lib'))
-
 from sickbeard.metadata.generic import GenericMetadata
 
 from lib.hachoir_parser import createParser
-- 
GitLab