mirror of
https://github.com/SickGear/SickGear.git
synced 2025-01-05 17:43:37 +00:00
Change handle all Hachoir library parser errors and replace its Unicode enforcement.
Allow episode status "Skipped" to be changed to "Downloaded". Allow found "Skipped" episode files to be set "Unknown" quality.
This commit is contained in:
parent
9e540ffa91
commit
820594505b
6 changed files with 16 additions and 5 deletions
|
@ -26,6 +26,9 @@
|
|||
* Add force episode recent search to API
|
||||
* Change process episodes with utf8 dir and nzb names, handle failed episodes without a dir, add log output streaming
|
||||
* Change move dateutil-zoneinfo.tar.gz file to data files /cache
|
||||
* Change handle all Hachoir library parser errors and replace its Unicode enforcement
|
||||
* Allow episode status "Skipped" to be changed to "Downloaded"
|
||||
* Allow found "Skipped" episode files to be set "Unknown" quality
|
||||
|
||||
|
||||
### 0.11.5 (2016-02-01 19:40:00 UTC)
|
||||
|
|
|
@ -3,6 +3,7 @@ Libs with customisations...
|
|||
/lib/cachecontrol/caches/file_cache.py
|
||||
/lib/dateutil/zoneinfo/__init__.py
|
||||
/lib/hachoir_core/config.py
|
||||
/lib/hachoir_core/stream/input_helpers.py
|
||||
/lib/pynma/pynma.py
|
||||
/lib/requests/packages/urllib3/connectionpool.py
|
||||
/lib/requests/packages/urllib3/util/ssl_.py
|
||||
|
|
|
@ -10,7 +10,7 @@ def FileInputStream(filename, real_filename=None, **args):
|
|||
not able to convert filename to real unicode string (ie. you have to
|
||||
use unicode(name, 'replace') or unicode(name, 'ignore')).
|
||||
"""
|
||||
assert isinstance(filename, unicode)
|
||||
# assert isinstance(filename, unicode)
|
||||
if not real_filename:
|
||||
real_filename = filename
|
||||
try:
|
||||
|
|
|
@ -21,6 +21,7 @@ import operator
|
|||
import platform
|
||||
import re
|
||||
import uuid
|
||||
import traceback
|
||||
|
||||
import sickbeard
|
||||
import logger
|
||||
|
@ -234,6 +235,7 @@ class Quality:
|
|||
def fileQuality(filename):
|
||||
|
||||
from sickbeard import encodingKludge as ek
|
||||
from sickbeard.exceptions import ex
|
||||
if ek.ek(os.path.isfile, filename):
|
||||
|
||||
from hachoir_parser import createParser
|
||||
|
@ -241,10 +243,14 @@ class Quality:
|
|||
from hachoir_core.stream import InputStreamError
|
||||
|
||||
parser = height = None
|
||||
msg = u'Hachoir can\'t parse file "%s" content quality because it found error: %s'
|
||||
try:
|
||||
parser = createParser(filename)
|
||||
parser = ek.ek(createParser, filename)
|
||||
except InputStreamError as e:
|
||||
logger.log('Hachoir can\'t parse file content quality because it found error: %s' % e.text, logger.WARNING)
|
||||
logger.log(msg % (filename, e.text), logger.WARNING)
|
||||
except Exception as e:
|
||||
logger.log(msg % (filename, ex(e)), logger.ERROR)
|
||||
logger.log(traceback.format_exc(), logger.DEBUG)
|
||||
|
||||
if parser:
|
||||
extract = extractMetadata(parser)
|
||||
|
|
|
@ -698,7 +698,8 @@ class TVShow(object):
|
|||
new_quality = Quality.fileQuality(file)
|
||||
logger.log(u'Since this file was renamed, file %s was checked and quality "%s" found'
|
||||
% (file, Quality.qualityStrings[new_quality]), logger.DEBUG)
|
||||
if Quality.UNKNOWN != new_quality:
|
||||
status, quality = sickbeard.common.Quality.splitCompositeStatus(cur_ep.status)
|
||||
if Quality.UNKNOWN != new_quality or SKIPPED == status:
|
||||
cur_ep.status = Quality.compositeStatus(DOWNLOADED, new_quality)
|
||||
|
||||
# check for status/quality changes as long as it's a new file
|
||||
|
|
|
@ -1719,7 +1719,7 @@ class Home(MainHandler):
|
|||
|
||||
if int(
|
||||
status) in Quality.DOWNLOADED and epObj.status not in Quality.SNATCHED + Quality.SNATCHED_PROPER + Quality.DOWNLOADED + [
|
||||
IGNORED] and not ek.ek(os.path.isfile, epObj.location):
|
||||
IGNORED, SKIPPED] and not ek.ek(os.path.isfile, epObj.location):
|
||||
logger.log(
|
||||
u'Refusing to change status of ' + curEp + " to DOWNLOADED because it's not SNATCHED/DOWNLOADED",
|
||||
logger.ERROR)
|
||||
|
|
Loading…
Reference in a new issue