mirror of
https://github.com/SickGear/SickGear.git
synced 2024-11-22 12:55:05 +00:00
Fix TMDB language caching.
This commit is contained in:
parent
6067c00fe2
commit
c521792c3d
3 changed files with 26 additions and 19 deletions
|
@ -1,4 +1,10 @@
|
||||||
### 3.27.0 (2023-02-09 15:00:00 UTC)
|
### 3.27.1 (2023-02-10 15:25:00 UTC)
|
||||||
|
|
||||||
|
* Change display show status in Change show header
|
||||||
|
* Fix TMDB language caching
|
||||||
|
|
||||||
|
|
||||||
|
### 3.27.0 (2023-02-09 15:00:00 UTC)
|
||||||
|
|
||||||
* Update Apprise 0.8.5 (55a2edc) to 1.2.1 (3d07004)
|
* Update Apprise 0.8.5 (55a2edc) to 1.2.1 (3d07004)
|
||||||
* Update attr 20.3.0 (f3762ba) to 22.2.0 (a9960de)
|
* Update attr 20.3.0 (f3762ba) to 22.2.0 (a9960de)
|
||||||
|
|
|
@ -76,7 +76,7 @@ def get_tmdb_constants():
|
||||||
# type: (...) -> Dict
|
# type: (...) -> Dict
|
||||||
"""return tmdbsimple Configuration().info() or cached copy"""
|
"""return tmdbsimple Configuration().info() or cached copy"""
|
||||||
global _TMDB_CONSTANTS_CACHE
|
global _TMDB_CONSTANTS_CACHE
|
||||||
# only retrieve info data if older then 3 days
|
# only retrieve info data if older than 3 days
|
||||||
if 3 < (datetime.datetime.now() - _TMDB_CONSTANTS_CACHE['date']).days or not _TMDB_CONSTANTS_CACHE['data']:
|
if 3 < (datetime.datetime.now() - _TMDB_CONSTANTS_CACHE['date']).days or not _TMDB_CONSTANTS_CACHE['data']:
|
||||||
try:
|
try:
|
||||||
tv_genres = {g['id']: g['name'] for g in tmdbsimple.Genres().tv_list()['genres']}
|
tv_genres = {g['id']: g['name'] for g in tmdbsimple.Genres().tv_list()['genres']}
|
||||||
|
@ -520,10 +520,10 @@ class TmdbIndexer(TVInfoBase):
|
||||||
number of votes, genres, the network they aired on and air dates.
|
number of votes, genres, the network they aired on and air dates.
|
||||||
|
|
||||||
Discover also supports a nice list of sort options. See below for all
|
Discover also supports a nice list of sort options. See below for all
|
||||||
of the available options.
|
the available options.
|
||||||
|
|
||||||
Also note that a number of filters support being comma (,) or pipe (|)
|
Also note that a number of filters support being comma (,) or pipe (|)
|
||||||
separated. Comma's are treated like an AND and query while pipe's are
|
separated. Commas are treated like an AND query while pipe's are
|
||||||
an OR.
|
an OR.
|
||||||
|
|
||||||
Some examples of what can be done with discover can be found at
|
Some examples of what can be done with discover can be found at
|
||||||
|
@ -539,23 +539,23 @@ class TmdbIndexer(TVInfoBase):
|
||||||
popularity.desc, popularity.asc
|
popularity.desc, popularity.asc
|
||||||
Default: popularity.desc
|
Default: popularity.desc
|
||||||
air_date.gte: (optional) Filter and only include TV shows that have
|
air_date.gte: (optional) Filter and only include TV shows that have
|
||||||
a air date (by looking at all episodes) that is greater or
|
an air date (by looking at all episodes) that is greater or
|
||||||
equal to the specified value.
|
equal to the specified value.
|
||||||
air_date.lte: (optional) Filter and only include TV shows that have
|
air_date.lte: (optional) Filter and only include TV shows that have
|
||||||
a air date (by looking at all episodes) that is less than or
|
an air date (by looking at all episodes) that is less than or
|
||||||
equal to the specified value.
|
equal to the specified value.
|
||||||
first_air_date.gte: (optional) Filter and only include TV shows
|
first_air_date.gte: (optional) Filter and only include TV shows
|
||||||
that have a original air date that is greater or equal to the
|
that have an original air date that is greater or equal to the
|
||||||
specified value. Can be used in conjunction with the
|
specified value. Can be used in conjunction with the
|
||||||
"include_null_first_air_dates" filter if you want to include
|
"include_null_first_air_dates" filter if you want to include
|
||||||
items with no air date.
|
items with no air date.
|
||||||
first_air_date.lte: (optional) Filter and only include TV shows
|
first_air_date.lte: (optional) Filter and only include TV shows
|
||||||
that have a original air date that is less than or equal to the
|
that have an original air date that is less than or equal to the
|
||||||
specified value. Can be used in conjunction with the
|
specified value. Can be used in conjunction with the
|
||||||
"include_null_first_air_dates" filter if you want to include
|
"include_null_first_air_dates" filter if you want to include
|
||||||
items with no air date.
|
items with no air date.
|
||||||
first_air_date_year: (optional) Filter and only include TV shows
|
first_air_date_year: (optional) Filter and only include TV shows
|
||||||
that have a original air date year that equal to the specified
|
that have an original air date year that equal to the specified
|
||||||
value. Can be used in conjunction with the
|
value. Can be used in conjunction with the
|
||||||
"include_null_first_air_dates" filter if you want to include
|
"include_null_first_air_dates" filter if you want to include
|
||||||
items with no air date.
|
items with no air date.
|
||||||
|
@ -760,9 +760,9 @@ class TmdbIndexer(TVInfoBase):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _tmdb_supported_lang_list(self):
|
def _tmdb_supported_lang_list(self):
|
||||||
if None is self._tmdb_lang_list:
|
if not TmdbIndexer._tmdb_lang_list:
|
||||||
self._get_languages()
|
self._get_languages()
|
||||||
return self._tmdb_lang_list
|
return TmdbIndexer._tmdb_lang_list
|
||||||
|
|
||||||
def _get_languages(self):
|
def _get_languages(self):
|
||||||
# type: (...) -> None
|
# type: (...) -> None
|
||||||
|
@ -772,10 +772,11 @@ class TmdbIndexer(TVInfoBase):
|
||||||
except (BaseException, Exception):
|
except (BaseException, Exception):
|
||||||
lang_data = None
|
lang_data = None
|
||||||
if lang_data:
|
if lang_data:
|
||||||
self._supported_languages = [{'id': clean_data(a['iso_639_1']), 'name': clean_data(a['english_name']),
|
TmdbIndexer._supported_languages = [{
|
||||||
'nativeName': clean_data(a['name']),
|
'id': clean_data(a['iso_639_1']), 'name': clean_data(a['english_name']),
|
||||||
'shortCode': None, 'sg_lang': clean_data(a['iso_639_1'])}
|
'nativeName': clean_data(a['name']), 'shortCode': None, 'sg_lang': clean_data(a['iso_639_1'])
|
||||||
for a in sorted(lang_data, key=lambda b: b['iso_639_1'])]
|
} for a in sorted(lang_data, key=lambda b: b['iso_639_1'])]
|
||||||
self._tmdb_lang_list = [a['id'] for a in self._supported_languages]
|
TmdbIndexer._tmdb_lang_list = [a['id'] for a in self._supported_languages]
|
||||||
else:
|
else:
|
||||||
self._supported_languages = []
|
TmdbIndexer._supported_languages = []
|
||||||
|
TmdbIndexer._tmdb_lang_list = []
|
||||||
|
|
|
@ -1347,9 +1347,9 @@ class TVInfoBase(object):
|
||||||
get all supported languages as list of dicts
|
get all supported languages as list of dicts
|
||||||
[{'id': 'lang code', 'name': 'english name', 'nativeName': 'native name', 'sg_lang': 'sg lang code'}]
|
[{'id': 'lang code', 'name': 'english name', 'nativeName': 'native name', 'sg_lang': 'sg lang code'}]
|
||||||
"""
|
"""
|
||||||
if None is self._supported_languages:
|
if not self._supported_languages:
|
||||||
self._get_languages()
|
self._get_languages()
|
||||||
return self._supported_languages
|
return self._supported_languages or []
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '<TVInfo(%s) (containing: %s)>' % (self.__class__.__name__, text_type(self.shows))
|
return '<TVInfo(%s) (containing: %s)>' % (self.__class__.__name__, text_type(self.shows))
|
||||||
|
|
Loading…
Reference in a new issue