1
0
mirror of https://github.com/moparisthebest/SickRage synced 2024-08-13 16:53:54 -04:00

Fixed issues importing encodingKludge module.

This commit is contained in:
echel0n 2014-11-24 14:31:50 -08:00
parent 6a140aa907
commit a9b44a156d
9 changed files with 33 additions and 31 deletions

View File

@ -29,17 +29,18 @@ import ftfy.bad_codecs
# which return something should always return unicode.
def fixStupidEncodings(x, silent=False):
if type(x) in [str, unicode]:
if type(x) == str:
try:
return ftfy.fix_text(u'' + x).decode(sickbeard.SYS_ENCODING)
return str(ftfy.fix_text(u'' + x)).decode(sickbeard.SYS_ENCODING)
except UnicodeDecodeError:
logger.log(u"Unable to decode value: " + repr(x), logger.ERROR)
return None
elif type(x) == unicode:
return x
else:
logger.log(
u"Unknown value passed in, ignoring it: " + str(type(x)) + " (" + repr(x) + ":" + repr(type(x)) + ")",
logger.DEBUG if silent else logger.ERROR)
return None
def fixListEncodings(x):
if type(x) != list and type(x) != tuple:
@ -47,21 +48,13 @@ def fixListEncodings(x):
else:
return filter(lambda x: x != None, map(fixStupidEncodings, x))
def callPeopleStupid(x):
try:
return ftfy.fix_text(x).encode(sickbeard.SYS_ENCODING)
except (UnicodeEncodeError, UnicodeDecodeError):
logger.log(
u"YOUR COMPUTER SUCKS! Your data is being corrupted by a bad locale/encoding setting. Report this error on the forums or IRC please: " + repr(
x) + ", " + sickbeard.SYS_ENCODING, logger.ERROR)
return ftfy.fix_text(x).encode(sickbeard.SYS_ENCODING, 'ignore')
def ek(func, *args, **kwargs):
if os.name == 'nt':
result = func(*args, **kwargs)
else:
result = func(*[callPeopleStupid(x) if type(x) in (str, unicode) else x for x in args], **kwargs)
result = func(
*[ftfy.fix_text(u'' + x).encode(sickbeard.SYS_ENCODING) if type(x) in (str, unicode) else x for x in args],
**kwargs)
if type(result) in (list, tuple):
return fixListEncodings(result)

View File

@ -18,7 +18,6 @@
from sickbeard.encodingKludge import fixStupidEncodings
def ex(e):
"""
Returns a unicode string from the exception text if it exists.

View File

@ -26,8 +26,7 @@ from sickbeard.exceptions import ex, EpisodeNotFoundException
from sickbeard.history import dateFormat
from sickbeard.common import Quality
from sickbeard.common import WANTED, FAILED
from encodingKludge import fixStupidEncodings
from sickbeard.encodingKludge import fixStupidEncodings
def prepareFailedName(release):
"""Standardizes release name for failed DB"""

View File

@ -20,7 +20,7 @@ import db
import datetime
from sickbeard.common import SNATCHED, SUBTITLED, FAILED, Quality
from encodingKludge import fixStupidEncodings
from sickbeard.encodingKludge import fixStupidEncodings
dateFormat = "%Y%m%d%H%M%S"

View File

@ -29,7 +29,7 @@ import sickbeard
from sickbeard import logger, common
from sickbeard import db
from encodingKludge import fixStupidEncodings
from sickbeard.encodingKludge import fixStupidEncodings
from sickbeard.exceptions import ex

View File

@ -29,7 +29,7 @@ from sickbeard import encodingKludge as ek
from sickbeard.exceptions import ex
from name_parser.parser import NameParser, InvalidNameException, InvalidShowException
from encodingKludge import fixStupidEncodings
from sickbeard.encodingKludge import fixStupidEncodings
def getSeasonNZBs(name, urlData, season):

View File

@ -27,7 +27,7 @@ from sickbeard import helpers
from sickbeard import name_cache
from sickbeard import logger
from sickbeard import db
from encodingKludge import fixStupidEncodings
from sickbeard.encodingKludge import fixStupidEncodings
exception_dict = {}
anidb_exception_dict = {}

View File

@ -33,7 +33,7 @@ from sickbeard.exceptions import AuthException
from sickbeard.rssfeeds import RSSFeeds
from sickbeard import clients
from name_parser.parser import NameParser, InvalidNameException, InvalidShowException
from encodingKludge import fixStupidEncodings
from sickbeard.encodingKludge import fixStupidEncodings
class CacheDBConnection(db.DBConnection):
def __init__(self, providerName):

View File

@ -192,13 +192,24 @@ def tearDown_test_db():
"""
# uncomment next line so leave the db intact between test and at the end
# return False
try:
if os.path.exists(os.path.join(TESTDIR, TESTDBNAME)):
os.remove(os.path.join(TESTDIR, TESTDBNAME))
except:
pass
try:
if os.path.exists(os.path.join(TESTDIR, TESTCACHEDBNAME)):
os.remove(os.path.join(TESTDIR, TESTCACHEDBNAME))
except:
pass
try:
if os.path.exists(os.path.join(TESTDIR, TESTFAILEDDBNAME)):
os.remove(os.path.join(TESTDIR, TESTFAILEDDBNAME))
except:
pass
def setUp_test_episode_file():
if not os.path.exists(FILEDIR):