Merge branch 'main' into dev

This commit is contained in:
JackDandy 2023-04-12 10:20:48 +01:00
commit 01045f22de
8 changed files with 39 additions and 28 deletions

35
.gitignore vendored
View file

@ -1,50 +1,51 @@
###################### ######################
# SB User Related # # SG User Related #
cache/* cache/*
cache.db*
config.ini*
Logs/* Logs/*
sickbeard.db* restore/
failed.db*
autoProcessTV/autoProcessTV.cfg autoProcessTV/autoProcessTV.cfg
config.ini*
cache.db*
failed.db*
sickbeard.db*
server.crt server.crt
server.key server.key
restore/
###################### ######################
# SB Test Related # # SG Test Related #
tests/cache/* tests/cache/*
tests/Logs/* tests/Logs/*
tests/sickgear.*
tests/*.db tests/*.db
tests/sickgear.*
###################### ######################
# Compiled source # # Compiled source #
*.py[co] *.py[co]
**/__pycache__/
###################### ######################
# IDE specific # # IDE specific #
/.idea/
*.bak *.bak
*.tmp *.cproject
*.wpr
*.project *.project
*.pydevproject *.pydevproject
*.cproject *.sw?
*.tmp
*.tmproj *.tmproj
*.tmproject *.tmproject
*.sw? *.wpr
Session.vim Session.vim
.ropeproject/* .ropeproject/*
###################### ######################
# OS generated files # # OS generated files #
*.torrent
*~
.directory
.DS_Store
.Spotlight-V100 .Spotlight-V100
.Trashes .Trashes
.DS_Store
desktop.ini desktop.ini
ehthumbs.db ehthumbs.db
Thumbs.db Thumbs.db
.directory
*~
/.idea/
*.torrent

View file

@ -27,6 +27,15 @@
* Fix UI by marking resource as unavailable if cannot determine its free space * Fix UI by marking resource as unavailable if cannot determine its free space
### 3.27.13 (2023-04-12 10:15:00 UTC)
* Change fix show id log output
* Change handle exceptions thrown from pkg_resources parsing newly extended working set modules not even used by SG
* Fix parsing shows where multiple same names are in SG and show_obj is set for parser
* Change update fallback zoneinfo to 2023c
* Change allow Python 3.11.3, 3.10.11
### 3.27.12 (2023-03-08 23:30:00 UTC) ### 3.27.12 (2023-03-08 23:30:00 UTC)
* Change meta providers to new TVInfoAPI get_show to make sure language is used * Change meta providers to new TVInfoAPI get_show to make sure language is used

View file

@ -41,7 +41,7 @@ warnings.filterwarnings('ignore', message='.*deprecated in cryptography.*')
versions = [((3, 7, 1), (3, 8, 16)), versions = [((3, 7, 1), (3, 8, 16)),
((3, 9, 0), (3, 9, 2)), ((3, 9, 4), (3, 9, 16)), ((3, 9, 0), (3, 9, 2)), ((3, 9, 4), (3, 9, 16)),
((3, 10, 0), (3, 11, 2))] # inclusive version ranges ((3, 10, 0), (3, 11, 3))] # inclusive version ranges
if not any(list(map(lambda v: v[0] <= sys.version_info[:3] <= v[1], versions))) and not int(os.environ.get('PYT', 0)): if not any(list(map(lambda v: v[0] <= sys.version_info[:3] <= v[1], versions))) and not int(os.environ.get('PYT', 0)):
major, minor, micro = sys.version_info[:3] major, minor, micro = sys.version_info[:3]
print('Python %s.%s.%s detected.' % (major, minor, micro)) print('Python %s.%s.%s detected.' % (major, minor, micro))

View file

@ -58,7 +58,7 @@ class NameParser(object):
naming_pattern=False, testing=False, indexer_lookup=True): naming_pattern=False, testing=False, indexer_lookup=True):
self.file_name = file_name # type: bool self.file_name = file_name # type: bool
self.show_obj = show_obj # type: sickgear.tv.TVShow or None self.show_obj = show_obj # type: Optional[sickgear.tv.TVShow]
self.try_scene_exceptions = try_scene_exceptions # type: bool self.try_scene_exceptions = try_scene_exceptions # type: bool
self.convert = convert # type: bool self.convert = convert # type: bool
self.naming_pattern = naming_pattern # type: bool self.naming_pattern = naming_pattern # type: bool
@ -302,7 +302,9 @@ class NameParser(object):
# confirm passed in show object tvid_prodid matches result show object tvid_prodid # confirm passed in show object tvid_prodid matches result show object tvid_prodid
if show_obj and not self.testing: if show_obj and not self.testing:
if self.show_obj and show_obj.tvid_prodid != self.show_obj.tvid_prodid: if self.show_obj and show_obj.tvid_prodid != self.show_obj.tvid_prodid \
and helpers.full_sanitize_scene_name(show_obj.name) != \
helpers.full_sanitize_scene_name(self.show_obj.name):
show_obj = None show_obj = None
elif not show_obj and self.show_obj: elif not show_obj and self.show_obj:
show_obj = self.show_obj show_obj = self.show_obj

View file

@ -189,7 +189,10 @@ def _check_pip_env(pip_outdated=False, reset_fails=False):
import pkg_resources import pkg_resources
six.moves.reload_module(pkg_resources) six.moves.reload_module(pkg_resources)
for cur_distinfo in pkg_resources.working_set: for cur_distinfo in pkg_resources.working_set:
try:
environment[cur_distinfo.project_name] = cur_distinfo.parsed_version environment[cur_distinfo.project_name] = cur_distinfo.parsed_version
except (BaseException, Exception):
pass
save_failed = False save_failed = False
known_failed = load_ignorables(DATA_DIR) known_failed = load_ignorables(DATA_DIR)

View file

@ -2592,7 +2592,7 @@ class TVShow(TVShowBase):
if len(sql_result): if len(sql_result):
logger.log('%s: Loading show info%s from database' % vals) logger.log('%s: Loading show info%s from database' % vals)
raise exceptions_helper.MultipleDBShowsException() raise exceptions_helper.MultipleDBShowsException()
logger.log('%s-%s: Unable to find the show%s in the database' % (self.tvid, self.prodid, self.name)) logger.log(f'{self.tvid_prodid}: Unable to find the show{self.name} in the database')
return return
show_result = next(iter(sql_result)) show_result = next(iter(sql_result))

View file

@ -8483,7 +8483,6 @@ class ConfigMediaProcess(Config):
return t.respond() return t.respond()
def save_post_processing(self, tv_download_dir=None, process_automatically=None, mediaprocess_interval=None, def save_post_processing(self, tv_download_dir=None, process_automatically=None, mediaprocess_interval=None,
autopostprocesser_frequency=None,
unpack=None, keep_processed_dir=None, process_method=None, unpack=None, keep_processed_dir=None, process_method=None,
extra_scripts='', sg_extra_scripts='', extra_scripts='', sg_extra_scripts='',
rename_episodes=None, airdate_episodes=None, rename_episodes=None, airdate_episodes=None,
@ -8495,11 +8494,8 @@ class ConfigMediaProcess(Config):
wdtv_data=None, tivo_data=None, mede8er_data=None, kodi_data=None, wdtv_data=None, tivo_data=None, mede8er_data=None, kodi_data=None,
naming_pattern=None, naming_multi_ep=None, naming_pattern=None, naming_multi_ep=None,
naming_anime=None, naming_anime_pattern=None, naming_anime_multi_ep=None, naming_anime=None, naming_anime_pattern=None, naming_anime_multi_ep=None,
naming_abd_pattern=None, naming_sports_pattern=None): naming_abd_pattern=None, naming_sports_pattern=None,
**kwargs): # kwargs picks up deprecated vars sent from legacy UIs
# prevent deprecated var issues from existing ui, delete in future, added 2020.11.07
if None is mediaprocess_interval and None is not autopostprocesser_frequency:
mediaprocess_interval = autopostprocesser_frequency
results = [] results = []