From 9811986fbc5c3cce67469776e415e29dd9aebf4d Mon Sep 17 00:00:00 2001 From: JackDandy Date: Tue, 28 Jan 2020 00:58:50 +0000 Subject: [PATCH] Fix a particular case with Add show for imported shows. Change enforce reading text files as utf8 on environments that don't e.g. Docker. Fix reading service.py file under Docker. --- CHANGES.md | 9 ++++++++- sickbeard/__init__.py | 3 ++- .../kodi/service.sickgear.watchedstate.updater/service.py | 2 +- sickbeard/show_queue.py | 5 +++-- sickbeard/webserve.py | 6 +++--- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ccbb7e0..c663bf6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,11 @@ -### 0.21.8 (2020-01-27 09:00:00 UTC) +### 0.21.9 (2020-01-28 01:00:00 UTC) + +* Fix reading service.py under Docker +* Fix a particular case with Add show for imported shows +* Change enforce reading text files as utf8 on environments that don't e.g. Docker + + +### 0.21.8 (2020-01-27 09:00:00 UTC) * Fix issue processing files with no quality parsed * Change remove nonsense text that quality of pp item is from snatch history given that it may not be diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py index ba6eb18..8879d30 100755 --- a/sickbeard/__init__.py +++ b/sickbeard/__init__.py @@ -22,6 +22,7 @@ from collections import OrderedDict from threading import Lock import datetime +import io import os import re import signal @@ -966,7 +967,7 @@ def init_stage_1(console_logging): try: ng_script_file = ek.ek(os.path.join, ek.ek(os.path.dirname, ek.ek(os.path.dirname, __file__)), 'autoProcessTV', 'SickGear-NG', 'SickGear-NG.py') - with open(ng_script_file, 'r') as ng: + with io.open(ng_script_file, 'r', encoding='utf8') as ng: text = ng.read() NZBGET_SCRIPT_VERSION = re.search(r""".*version: (\d+\.\d+)""", text, flags=re.M).group(1) except (BaseException, Exception): diff --git a/sickbeard/clients/kodi/service.sickgear.watchedstate.updater/service.py b/sickbeard/clients/kodi/service.sickgear.watchedstate.updater/service.py index 2ac21a6..49cc546 100644 --- a/sickbeard/clients/kodi/service.sickgear.watchedstate.updater/service.py +++ b/sickbeard/clients/kodi/service.sickgear.watchedstate.updater/service.py @@ -1,4 +1,4 @@ -# coding=utf-8 +# coding=utf-8 # # This file is part of SickGear. # diff --git a/sickbeard/show_queue.py b/sickbeard/show_queue.py index b6c3fa1..5e75417 100644 --- a/sickbeard/show_queue.py +++ b/sickbeard/show_queue.py @@ -37,6 +37,7 @@ from .indexers.indexer_config import TVINFO_TVDB, TVINFO_TVRAGE from .indexers.indexer_exceptions import check_exception_type, ExceptionTuples from .name_parser.parser import NameParser from .tv import TVShow +from six import integer_types # noinspection PyUnreachableCode if False: @@ -518,8 +519,8 @@ class QueueItemAdd(ShowQueueItem): self.prodid = prodid # type: int self.showDir = show_dir # type: AnyStr self.default_status = default_status - self.default_wanted_begin = default_wanted_begin - self.default_wanted_latest = default_wanted_latest + self.default_wanted_begin = (0, default_wanted_begin)[isinstance(default_wanted_begin, integer_types)] + self.default_wanted_latest = (0, default_wanted_latest)[isinstance(default_wanted_latest, integer_types)] self.quality = quality # type: int self.upgrade_once = upgrade_once self.flatten_folders = flatten_folders diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index 6087199..82384b6 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -468,7 +468,7 @@ class RepoHandler(BaseStaticFileHandler): repo_md5_file = ek.ek(os.path.join, cache_client_kodi, 'addons.xml.md5') saved_md5 = None try: - with io.open(repo_md5_file, 'r') as fh: + with io.open(repo_md5_file, 'r', encoding='utf8') as fh: saved_md5 = fh.readline() except (BaseException, Exception): pass @@ -592,7 +592,7 @@ class RepoHandler(BaseStaticFileHandler): return sickbeard.MEMCACHE.get(mem_key).get('data') with io.open(ek.ek(os.path.join, sickbeard.PROG_DIR, 'sickbeard', 'clients', - 'kodi', 'service.sickgear.watchedstate.updater', 'addon.xml'), 'r') as fh: + 'kodi', 'service.sickgear.watchedstate.updater', 'addon.xml'), 'r', encoding='utf8') as fh: xml = fh.read().strip() % dict(ADDON_VERSION=self.get_addon_version()) sickbeard.MEMCACHE[mem_key] = dict(last_update=30 + SGDatetime.now().totimestamp(default=0), data=xml) @@ -605,7 +605,7 @@ class RepoHandler(BaseStaticFileHandler): return sickbeard.MEMCACHE.get(mem_key).get('data') with io.open(ek.ek(os.path.join, sickbeard.PROG_DIR, 'sickbeard', 'clients', - 'kodi', 'service.sickgear.watchedstate.updater', 'service.py'), 'r') as fh: + 'kodi', 'service.sickgear.watchedstate.updater', 'service.py'), 'r', encoding='utf8') as fh: version = re.findall(r'ADDON_VERSION\s*?=\s*?\'([^\']+)', fh.read())[0] sickbeard.MEMCACHE[mem_key] = dict(last_update=30 + SGDatetime.now().totimestamp(default=0), data=version)