Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
clinton-hall committed Jan 13, 2020
2 parents a320ac5 + 25528f8 commit 5a68377
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 41 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 12.1.03
current_version = 12.1.04
commit = True
tag = False

Expand Down
2 changes: 1 addition & 1 deletion core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
wake_up,
)

__version__ = '12.1.03'
__version__ = '12.1.04'

# Client Agents
NZB_CLIENTS = ['sabnzbd', 'nzbget', 'manual']
Expand Down
2 changes: 1 addition & 1 deletion core/auto_process/music.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ def process(section, dir_name, input_name=None, status=0, client_agent='manual',
)

try:
res = json.loads(r.content)
res = r.json()
scan_id = int(res['id'])
logger.debug('Scan started with id: {0}'.format(scan_id), section)
except Exception as e:
Expand Down
15 changes: 8 additions & 7 deletions core/auto_process/tv.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,13 @@ def process(section, dir_name, input_name=None, failed=False, client_agent='manu
# Attempt to create the directory if it doesn't exist and ignore any
# error stating that it already exists. This fixes a bug where SickRage
# won't process the directory because it doesn't exist.
try:
os.makedirs(dir_name) # Attempt to create the directory
except OSError as e:
# Re-raise the error if it wasn't about the directory not existing
if e.errno != errno.EEXIST:
raise
if dir_name:
try:
os.makedirs(dir_name) # Attempt to create the directory
except OSError as e:
# Re-raise the error if it wasn't about the directory not existing
if e.errno != errno.EEXIST:
raise

if 'process_method' not in fork_params or (client_agent in ['nzbget', 'sabnzbd'] and nzb_extraction_by != 'Destination'):
if input_name:
Expand Down Expand Up @@ -343,7 +344,7 @@ def process(section, dir_name, input_name=None, failed=False, client_agent='manu
time.sleep(60)
elif section == 'NzbDrone':
try:
res = json.loads(r.content)
res = r.json()
scan_id = int(res['id'])
logger.debug('Scan started with id: {0}'.format(scan_id), section)
started = True
Expand Down
86 changes: 57 additions & 29 deletions core/utils/encoding.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,40 +27,68 @@ def char_replace(name_in):
encoded = False
encoding = None
if isinstance(name_in, text_type):
return encoded, name_in.encode(core.SYS_ENCODING)
return encoded, name_in
if PY2:
name = name_in
for Idx in range(len(name)):
# print('Trying to intuit the encoding')
# /!\ detection is done 2char by 2char for UTF-8 special character
if (len(name) != 1) & (Idx < (len(name) - 1)):
# Detect UTF-8
if ((name[Idx] == '\xC2') | (name[Idx] == '\xC3')) & (
(name[Idx + 1] >= '\xA0') & (name[Idx + 1] <= '\xFF')):
encoding = 'utf-8'
break
# Detect CP850
elif (name[Idx] >= '\x80') & (name[Idx] <= '\xA5'):
encoding = 'cp850'
break
# Detect ISO-8859-15
elif (name[Idx] >= '\xA6') & (name[Idx] <= '\xFF'):
encoding = 'iso-8859-15'
break
else:
# Detect CP850
if (name[Idx] >= '\x80') & (name[Idx] <= '\xA5'):
encoding = 'cp850'
break
# Detect ISO-8859-15
elif (name[Idx] >= '\xA6') & (name[Idx] <= '\xFF'):
encoding = 'iso-8859-15'
break
else:
name = bytes(name_in)
for Idx in range(len(name)):
print('Trying to intuit the encoding')
# /!\ detection is done 2char by 2char for UTF-8 special character
if (len(name) != 1) & (Idx < (len(name) - 1)):
# Detect UTF-8
if ((name[Idx] == 0xC2) | (name[Idx] == 0xC3)) & (
(name[Idx + 1] >= 0xA0) & (name[Idx + 1] <= 0xFF)):
encoding = 'utf-8'
break
# Detect CP850
elif (name[Idx] >= 0x80) & (name[Idx] <= 0xA5):
encoding = 'cp850'
break
# Detect ISO-8859-15
elif (name[Idx] >= 0xA6) & (name[Idx] <= 0xFF):
encoding = 'iso-8859-15'
break
else:
# Detect CP850
if (name[Idx] >= 0x80) & (name[Idx] <= 0xA5):
encoding = 'cp850'
break
# Detect ISO-8859-15
elif (name[Idx] >= 0xA6) & (name[Idx] <= 0xFF):
encoding = 'iso-8859-15'
break
if encoding and not encoding == core.SYS_ENCODING:
for Idx in range(len(name)):
# print('Trying to intuit the encoding')
# /!\ detection is done 2char by 2char for UTF-8 special character
if (len(name) != 1) & (Idx < (len(name) - 1)):
# Detect UTF-8
if ((name[Idx] == 0xC2) | (name[Idx] == 0xC3)) & (
(name[Idx + 1] >= 0xA0) & (name[Idx + 1] <= 0xFF)):
encoding = 'utf-8'
break
# Detect CP850
elif (name[Idx] >= 0x80) & (name[Idx] <= 0xA5):
encoding = 'cp850'
break
# Detect ISO-8859-15
elif (name[Idx] >= 0xA6) & (name[Idx] <= 0xFF):
encoding = 'iso-8859-15'
break
else:
# Detect CP850
if (name[Idx] >= 0x80) & (name[Idx] <= 0xA5):
encoding = 'cp850'
break
# Detect ISO-8859-15
elif (name[Idx] >= 0xA6) & (name[Idx] <= 0xFF):
encoding = 'iso-8859-15'
break
if encoding:
encoded = True
name = name.decode(encoding).encode(core.SYS_ENCODING)
name = name.decode(encoding)
elif not PY2:
name = name.decode()
return encoded, name


Expand Down
2 changes: 1 addition & 1 deletion core/utils/identification.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def find_imdbid(dir_name, input_name, omdb_api_key):
url = 'http://www.omdbapi.com'

if not omdb_api_key:
logger.info('Unable to determine imdbID: No api key provided for ombdapi.com.')
logger.info('Unable to determine imdbID: No api key provided for omdbapi.com.')
return

logger.debug('Opening URL: {0}'.format(url))
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def read(*names, **kwargs):

setup(
name='nzbToMedia',
version='12.1.03',
version='12.1.04',
license='GPLv3',
description='Efficient on demand post processing',
long_description="""
Expand Down

0 comments on commit 5a68377

Please sign in to comment.