[2] small fixes

This commit is contained in:
meisnate12 2022-05-28 01:32:02 -04:00
parent 66a92ad8fe
commit 3e8cb33a83
7 changed files with 28 additions and 19 deletions

View file

@ -1 +1 @@
1.17.0-develop1
1.17.0-develop2

View file

@ -234,6 +234,8 @@ class MyLogger:
msg = msg.replace(secret, "(redacted)")
if "HTTPConnectionPool" in msg:
msg = re.sub("HTTPConnectionPool\\((.*?)\\)", "HTTPConnectionPool(redacted)", msg)
if "HTTPSConnectionPool" in msg:
msg = re.sub("HTTPSConnectionPool\\((.*?)\\)", "HTTPSConnectionPool(redacted)", msg)
try:
if not _srcfile:
raise ValueError

View file

@ -44,7 +44,7 @@ def get_dict(attribute, attr_data, check_list=None, make_str=False):
new_name = f'"{str(_name)}"' if make_str or not isinstance(_name, int) else _name
logger.warning(f"Config Warning: Skipping duplicate {attribute[:-1] if attribute[-1] == 's' else attribute}: {new_name}")
elif _data is None:
logger.warning(f"Config Warning: {attribute[:-1] if attribute[-1] == 's' else attribute}: {_name} has no data")
continue
elif not isinstance(_data, dict):
logger.warning(f"Config Warning: {attribute[:-1] if attribute[-1] == 's' else attribute}: {_name} must be a dictionary")
elif attribute == "templates":

View file

@ -627,10 +627,13 @@ class Plex(Library):
def playlist_report(self):
playlists = {}
def scan_user(server, username):
for playlist in server.playlists():
if playlist.title not in playlists:
playlists[playlist.title] = []
playlists[playlist.title].append(username)
try:
for playlist in server.playlists():
if playlist.title not in playlists:
playlists[playlist.title] = []
playlists[playlist.title].append(username)
except requests.exceptions.ConnectionError:
pass
scan_user(self.PlexServer, self.PlexServer.myPlexAccount().title)
for user in self.users:
scan_user(self.PlexServer.switchUser(user), user)
@ -1313,9 +1316,11 @@ class Plex(Library):
attrs.append(media.videoResolution)
for part in media.parts:
if filter_attr == "audio_language":
attrs.extend([a.language for a in part.audioStreams()])
for a in part.audioStreams():
attrs.extend([a.language, a.tag, a.languageCode])
if filter_attr == "subtitle_language":
attrs.extend([s.language for s in part.subtitleStreams()])
for s in part.subtitleStreams():
attrs.extend([s.language, s.tag, s.languageCode])
elif filter_attr in ["content_rating", "year", "rating"]:
attrs = [getattr(item, filter_actual)]
elif filter_attr in ["actor", "country", "director", "genre", "label", "producer", "writer",

View file

@ -214,11 +214,11 @@ class TMDb:
except Failed: raise Failed(f"TMDb Error: No Movie or Collection found for TMDb ID {tmdb_id}")
else: return self.get_show(tmdb_id)
def get_movie(self, tmdb_id):
return TMDbMovie(self, tmdb_id)
def get_movie(self, tmdb_id, ignore_cache=False):
return TMDbMovie(self, tmdb_id, ignore_cache=ignore_cache)
def get_show(self, tmdb_id):
return TMDbShow(self, tmdb_id)
def get_show(self, tmdb_id, ignore_cache=False):
return TMDbShow(self, tmdb_id, ignore_cache=ignore_cache)
@retry(stop_max_attempt_number=6, wait_fixed=10000, retry_on_exception=util.retry_if_not_failed)
def get_season(self, tmdb_id, season_number, partial=None):

View file

@ -302,7 +302,7 @@ class Trakt:
return data
def sync_list(self, slug, ids):
current_ids = self._list(slug, urlparse=False)
current_ids = self._list(slug, urlparse=False, fail=False)
def read_result(data, obj_type, result_type, result_str=None):
result_str = result_str if result_str else result_type.capitalize()
@ -365,14 +365,17 @@ class Trakt:
def build_user_url(self, user, name):
return f"{base_url.replace('api.', '')}/users/{user}/lists/{name}"
def _list(self, data, urlparse=True, trakt_ids=False):
def _list(self, data, urlparse=True, trakt_ids=False, fail=True):
try:
url = requests.utils.urlparse(data).path if urlparse else f"/users/me/lists/{data}"
items = self._request(f"{url}/items")
except Failed:
raise Failed(f"Trakt Error: List {data} not found")
if len(items) == 0:
raise Failed(f"Trakt Error: List {data} is empty")
if fail:
raise Failed(f"Trakt Error: List {data} is empty")
else:
return []
return self._parse(items, trakt_ids=trakt_ids)
def _userlist(self, list_type, user, is_movie, sort_by=None):

View file

@ -203,7 +203,7 @@ def start(attrs):
logger.debug("")
logger.separator(f"Starting {start_type}Run")
config = None
stats = {"created": 0, "modified": 0, "deleted": 0, "added": 0, "unchanged": 0, "removed": 0, "radarr": 0, "sonarr": 0}
stats = {"created": 0, "modified": 0, "deleted": 0, "added": 0, "unchanged": 0, "removed": 0, "radarr": 0, "sonarr": 0, "names": []}
try:
config = ConfigFile(default_dir, attrs)
except Exception as e:
@ -211,7 +211,7 @@ def start(attrs):
logger.critical(e)
else:
try:
stats = run_config(config)
stats = run_config(config, stats)
except Exception as e:
config.notify(e)
logger.stacktrace()
@ -231,7 +231,7 @@ def start(attrs):
logger.separator(f"Finished {start_type}Run\n{version_line}\nFinished: {end_time.strftime('%H:%M:%S %Y-%m-%d')} Run Time: {run_time}")
logger.remove_main_handler()
def run_config(config):
def run_config(config, stats):
library_status = run_libraries(config)
playlist_status = {}
@ -354,7 +354,6 @@ def run_config(config):
logger.info("")
print_status(playlist_status)
stats = {"created": 0, "modified": 0, "deleted": 0, "added": 0, "unchanged": 0, "removed": 0, "radarr": 0, "sonarr": 0, "names": []}
stats["added"] += amount_added
for library in config.libraries:
stats["created"] += library.stats["created"]