mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-10 06:54:21 +00:00
another timeout update
This commit is contained in:
parent
2033f815dc
commit
2a5bee4c76
4 changed files with 40 additions and 33 deletions
|
@ -453,24 +453,15 @@ class CollectionBuilder:
|
|||
elif method_name == "label":
|
||||
self.details[method_name] = util.get_list(method_data)
|
||||
elif method_name in boolean_details:
|
||||
if isinstance(method_data, bool): self.details[method_name] = method_data
|
||||
elif str(method_data).lower() in ["t", "true"]: self.details[method_name] = True
|
||||
elif str(method_data).lower() in ["f", "false"]: self.details[method_name] = False
|
||||
else: raise Failed(f"Collection Error: {method_name} attribute must be either true or false")
|
||||
self.details[method_name] = util.get_bool(method_name, method_data)
|
||||
elif method_name in all_details:
|
||||
self.details[method_name] = method_data
|
||||
elif method_name == "radarr_add":
|
||||
if isinstance(method_data, bool): self.add_to_radarr = method_data
|
||||
elif str(method_data).lower() in ["t", "true"]: self.add_to_radarr = True
|
||||
elif str(method_data).lower() in ["f", "false"]: self.add_to_radarr = False
|
||||
else: raise Failed(f"Collection Error: {method_name} attribute must be either true or false")
|
||||
self.add_to_radarr = util.get_bool(method_name, method_data)
|
||||
elif method_name == "radarr_folder":
|
||||
self.radarr_options["folder"] = method_data
|
||||
elif method_name in ["radarr_monitor", "radarr_search"]:
|
||||
if isinstance(method_data, bool): self.radarr_options[method_name[7:]] = method_data
|
||||
elif str(method_data).lower() in ["t", "true"]: self.radarr_options[method_name[7:]] = True
|
||||
elif str(method_data).lower() in ["f", "false"]: self.radarr_options[method_name[7:]] = False
|
||||
else: raise Failed(f"Collection Error: {method_name} attribute must be either true or false")
|
||||
self.radarr_options[method_name[7:]] = util.get_bool(method_name, method_data)
|
||||
elif method_name == "radarr_availability":
|
||||
if str(method_data).lower() in radarr.availability_translation:
|
||||
self.radarr_options["availability"] = str(method_data).lower()
|
||||
|
@ -482,10 +473,7 @@ class CollectionBuilder:
|
|||
elif method_name == "radarr_tag":
|
||||
self.radarr_options["tag"] = util.get_list(method_data)
|
||||
elif method_name == "sonarr_add":
|
||||
if isinstance(method_data, bool): self.add_to_sonarr = method_data
|
||||
elif str(method_data).lower() in ["t", "true"]: self.add_to_sonarr = True
|
||||
elif str(method_data).lower() in ["f", "false"]: self.add_to_sonarr = False
|
||||
else: raise Failed(f"Collection Error: {method_name} attribute must be either true or false")
|
||||
self.add_to_sonarr = util.get_bool(method_name, method_data)
|
||||
elif method_name == "sonarr_folder":
|
||||
self.sonarr_options["folder"] = method_data
|
||||
elif method_name == "sonarr_monitor":
|
||||
|
@ -505,10 +493,7 @@ class CollectionBuilder:
|
|||
else:
|
||||
raise Failed(f"Collection Error: {method_name} attribute must be either standard, daily, or anime")
|
||||
elif method_name in ["sonarr_season", "sonarr_search", "sonarr_cutoff_search"]:
|
||||
if isinstance(method_data, bool): self.sonarr_options[method_name[7:]] = method_data
|
||||
elif str(method_data).lower() in ["t", "true"]: self.sonarr_options[method_name[7:]] = True
|
||||
elif str(method_data).lower() in ["f", "false"]: self.sonarr_options[method_name[7:]] = False
|
||||
else: raise Failed(f"Collection Error: {method_name} attribute must be either true or false")
|
||||
self.sonarr_options[method_name[7:]] = util.get_bool(method_name, method_data)
|
||||
elif method_name == "sonarr_tag":
|
||||
self.sonarr_options["tag"] = util.get_list(method_data)
|
||||
elif method_name in ["title", "title.and", "title.not", "title.begins", "title.ends"]:
|
||||
|
|
|
@ -18,6 +18,7 @@ from modules.trakttv import TraktAPI
|
|||
from modules.tvdb import TVDbAPI
|
||||
from modules.util import Failed
|
||||
from plexapi.exceptions import BadRequest
|
||||
from retrying import retry
|
||||
from ruamel import yaml
|
||||
|
||||
logger = logging.getLogger("Plex Meta Manager")
|
||||
|
@ -727,6 +728,10 @@ class Config:
|
|||
util.print_end(length, f"Processed {len(items)} {'Movies' if library.is_movie else 'Shows'}")
|
||||
return movie_map, show_map
|
||||
|
||||
@retry(stop_max_attempt_number=6, wait_fixed=10000)
|
||||
def get_guids(self, item):
|
||||
return item.guids
|
||||
|
||||
def get_id(self, item, library, length):
|
||||
expired = None
|
||||
tmdb_id = None
|
||||
|
@ -747,16 +752,26 @@ class Config:
|
|||
check_id = guid.netloc
|
||||
|
||||
if item_type == "plex" and check_id == "movie":
|
||||
for guid_tag in item.guids:
|
||||
url_parsed = requests.utils.urlparse(guid_tag.id)
|
||||
if url_parsed.scheme == "tmdb": tmdb_id = int(url_parsed.netloc)
|
||||
elif url_parsed.scheme == "imdb": imdb_id = url_parsed.netloc
|
||||
try:
|
||||
for guid_tag in self.get_guids(item):
|
||||
url_parsed = requests.utils.urlparse(guid_tag.id)
|
||||
if url_parsed.scheme == "tmdb": tmdb_id = int(url_parsed.netloc)
|
||||
elif url_parsed.scheme == "imdb": imdb_id = url_parsed.netloc
|
||||
except requests.exceptions.ConnectionError:
|
||||
util.print_stacktrace()
|
||||
logger.error(f"{'Cache | ! |' if self.Cache else 'Mapping Error:'} {item.guid:<46} | No External GUIDs found for {item.title}")
|
||||
return None, None
|
||||
elif item_type == "plex" and check_id == "show":
|
||||
for guid_tag in item.guids:
|
||||
url_parsed = requests.utils.urlparse(guid_tag.id)
|
||||
if url_parsed.scheme == "tvdb": tvdb_id = int(url_parsed.netloc)
|
||||
elif url_parsed.scheme == "imdb": imdb_id = url_parsed.netloc
|
||||
elif url_parsed.scheme == "tmdb": tmdb_id = int(url_parsed.netloc)
|
||||
try:
|
||||
for guid_tag in self.get_guids(item):
|
||||
url_parsed = requests.utils.urlparse(guid_tag.id)
|
||||
if url_parsed.scheme == "tvdb": tvdb_id = int(url_parsed.netloc)
|
||||
elif url_parsed.scheme == "imdb": imdb_id = url_parsed.netloc
|
||||
elif url_parsed.scheme == "tmdb": tmdb_id = int(url_parsed.netloc)
|
||||
except requests.exceptions.ConnectionError:
|
||||
util.print_stacktrace()
|
||||
logger.error(f"{'Cache | ! |' if self.Cache else 'Mapping Error:'} {item.guid:<46} | No External GUIDs found for {item.title}")
|
||||
return None, None
|
||||
elif item_type == "imdb": imdb_id = check_id
|
||||
elif item_type == "thetvdb": tvdb_id = int(check_id)
|
||||
elif item_type == "themoviedb": tmdb_id = int(check_id)
|
||||
|
|
|
@ -197,6 +197,16 @@ def choose_from_list(datalist, description, data=None, list_type="title", exact=
|
|||
else:
|
||||
return None
|
||||
|
||||
def get_bool(method_name, method_data):
|
||||
if isinstance(method_data, bool):
|
||||
return method_data
|
||||
elif str(method_data).lower() in ["t", "true"]:
|
||||
return True
|
||||
elif str(method_data).lower() in ["f", "false"]:
|
||||
return False
|
||||
else:
|
||||
raise Failed(f"Collection Error: {method_name} attribute: {method_data} invalid must be either true or false")
|
||||
|
||||
def get_list(data, lower=False, split=True):
|
||||
if isinstance(data, list): return data
|
||||
elif isinstance(data, dict): return [data]
|
||||
|
@ -327,9 +337,6 @@ def regex_first_int(data, id_type, default=None):
|
|||
else:
|
||||
raise Failed(f"Regex Error: Failed to parse {id_type} from {data}")
|
||||
|
||||
def remove_not(method):
|
||||
return method[:-4] if method.endswith(".not") else method
|
||||
|
||||
def centered(text, do_print=True):
|
||||
if len(text) > screen_width - 2:
|
||||
raise Failed("text must be shorter then screen_width")
|
||||
|
|
|
@ -89,7 +89,7 @@ util.centered("| |_) | |/ _ \\ \\/ / | |\\/| |/ _ \\ __/ _` | | |\\/| |/ _` | '_
|
|||
util.centered("| __/| | __/> < | | | | __/ || (_| | | | | | (_| | | | | (_| | (_| | __/ | ")
|
||||
util.centered("|_| |_|\\___/_/\\_\\ |_| |_|\\___|\\__\\__,_| |_| |_|\\__,_|_| |_|\\__,_|\\__, |\\___|_| ")
|
||||
util.centered(" |___/ ")
|
||||
util.centered(" Version: 1.7.2 ")
|
||||
util.centered(" Version: 1.7.2-Beta1 ")
|
||||
util.separator()
|
||||
|
||||
if my_tests:
|
||||
|
|
Loading…
Reference in a new issue