Seperate generate_library_guids_dict
This commit is contained in:
114
src/library.py
114
src/library.py
@@ -17,14 +17,28 @@ def check_skip_logic(
|
|||||||
library_other = None
|
library_other = None
|
||||||
if library_mapping:
|
if library_mapping:
|
||||||
library_other = search_mapping(library_mapping, library_title)
|
library_other = search_mapping(library_mapping, library_title)
|
||||||
|
|
||||||
skip_reason_black = check_blacklist_logic(library_title, library_type, blacklist_library, blacklist_library_type, library_mapping, library_other)
|
skip_reason_black = check_blacklist_logic(
|
||||||
skip_reason_white = check_whitelist_logic(library_title, library_type, whitelist_library, whitelist_library_type, library_mapping, library_other)
|
library_title,
|
||||||
|
library_type,
|
||||||
|
blacklist_library,
|
||||||
|
blacklist_library_type,
|
||||||
|
library_mapping,
|
||||||
|
library_other,
|
||||||
|
)
|
||||||
|
skip_reason_white = check_whitelist_logic(
|
||||||
|
library_title,
|
||||||
|
library_type,
|
||||||
|
whitelist_library,
|
||||||
|
whitelist_library_type,
|
||||||
|
library_mapping,
|
||||||
|
library_other,
|
||||||
|
)
|
||||||
|
|
||||||
# Combine skip reasons
|
# Combine skip reasons
|
||||||
if skip_reason_black:
|
if skip_reason_black:
|
||||||
skip_reason = skip_reason_black
|
skip_reason = skip_reason_black
|
||||||
|
|
||||||
if skip_reason_white:
|
if skip_reason_white:
|
||||||
if skip_reason:
|
if skip_reason:
|
||||||
skip_reason = skip_reason + " and " + skip_reason_white
|
skip_reason = skip_reason + " and " + skip_reason_white
|
||||||
@@ -33,7 +47,15 @@ def check_skip_logic(
|
|||||||
|
|
||||||
return skip_reason
|
return skip_reason
|
||||||
|
|
||||||
def check_blacklist_logic(library_title, library_type, blacklist_library, blacklist_library_type, library_mapping=None, library_other=None):
|
|
||||||
|
def check_blacklist_logic(
|
||||||
|
library_title,
|
||||||
|
library_type,
|
||||||
|
blacklist_library,
|
||||||
|
blacklist_library_type,
|
||||||
|
library_mapping=None,
|
||||||
|
library_other=None,
|
||||||
|
):
|
||||||
skip_reason = None
|
skip_reason = None
|
||||||
if isinstance(library_type, (list, tuple, set)):
|
if isinstance(library_type, (list, tuple, set)):
|
||||||
for library_type_item in library_type:
|
for library_type_item in library_type:
|
||||||
@@ -45,26 +67,40 @@ def check_blacklist_logic(library_title, library_type, blacklist_library, blackl
|
|||||||
|
|
||||||
if library_title.lower() in [x.lower() for x in blacklist_library]:
|
if library_title.lower() in [x.lower() for x in blacklist_library]:
|
||||||
if skip_reason:
|
if skip_reason:
|
||||||
skip_reason = skip_reason + " and " + f"{library_title} is in blacklist_library"
|
skip_reason = (
|
||||||
|
skip_reason + " and " + f"{library_title} is in blacklist_library"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
skip_reason = f"{library_title} is in blacklist_library"
|
skip_reason = f"{library_title} is in blacklist_library"
|
||||||
|
|
||||||
if library_other:
|
if library_other:
|
||||||
if library_other.lower() in [x.lower() for x in blacklist_library]:
|
if library_other.lower() in [x.lower() for x in blacklist_library]:
|
||||||
if skip_reason:
|
if skip_reason:
|
||||||
skip_reason = skip_reason + " and " + f"{library_other} is in blacklist_library"
|
skip_reason = (
|
||||||
|
skip_reason + " and " + f"{library_other} is in blacklist_library"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
skip_reason = f"{library_other} is in blacklist_library"
|
skip_reason = f"{library_other} is in blacklist_library"
|
||||||
|
|
||||||
return skip_reason
|
return skip_reason
|
||||||
|
|
||||||
def check_whitelist_logic(library_title, library_type, whitelist_library, whitelist_library_type, library_mapping=None, library_other=None):
|
|
||||||
|
def check_whitelist_logic(
|
||||||
|
library_title,
|
||||||
|
library_type,
|
||||||
|
whitelist_library,
|
||||||
|
whitelist_library_type,
|
||||||
|
library_mapping=None,
|
||||||
|
library_other=None,
|
||||||
|
):
|
||||||
skip_reason = None
|
skip_reason = None
|
||||||
if len(whitelist_library_type) > 0:
|
if len(whitelist_library_type) > 0:
|
||||||
if isinstance(library_type, (list, tuple, set)):
|
if isinstance(library_type, (list, tuple, set)):
|
||||||
for library_type_item in library_type:
|
for library_type_item in library_type:
|
||||||
if library_type_item.lower() not in whitelist_library_type:
|
if library_type_item.lower() not in whitelist_library_type:
|
||||||
skip_reason = f"{library_type_item} is not in whitelist_library_type"
|
skip_reason = (
|
||||||
|
f"{library_type_item} is not in whitelist_library_type"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
if library_type.lower() not in whitelist_library_type:
|
if library_type.lower() not in whitelist_library_type:
|
||||||
skip_reason = f"{library_type} is not in whitelist_library_type"
|
skip_reason = f"{library_type} is not in whitelist_library_type"
|
||||||
@@ -73,29 +109,31 @@ def check_whitelist_logic(library_title, library_type, whitelist_library, whitel
|
|||||||
if len(whitelist_library) > 0:
|
if len(whitelist_library) > 0:
|
||||||
if library_title.lower() not in [x.lower() for x in whitelist_library]:
|
if library_title.lower() not in [x.lower() for x in whitelist_library]:
|
||||||
if skip_reason:
|
if skip_reason:
|
||||||
skip_reason = skip_reason + " and " + f"{library_title} is not in whitelist_library"
|
skip_reason = (
|
||||||
|
skip_reason
|
||||||
|
+ " and "
|
||||||
|
+ f"{library_title} is not in whitelist_library"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
skip_reason = f"{library_title} is not in whitelist_library"
|
skip_reason = f"{library_title} is not in whitelist_library"
|
||||||
|
|
||||||
if library_other:
|
if library_other:
|
||||||
if library_other.lower() not in [x.lower() for x in whitelist_library]:
|
if library_other.lower() not in [x.lower() for x in whitelist_library]:
|
||||||
if skip_reason:
|
if skip_reason:
|
||||||
skip_reason = skip_reason + " and " + f"{library_other} is not in whitelist_library"
|
skip_reason = (
|
||||||
|
skip_reason
|
||||||
|
+ " and "
|
||||||
|
+ f"{library_other} is not in whitelist_library"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
skip_reason = f"{library_other} is not in whitelist_library"
|
skip_reason = f"{library_other} is not in whitelist_library"
|
||||||
|
|
||||||
return skip_reason
|
return skip_reason
|
||||||
|
|
||||||
def generate_library_guids_dict(user_list: dict):
|
def show_title_dict(user_list: dict):
|
||||||
show_output_dict = {}
|
|
||||||
episode_output_dict = {}
|
|
||||||
movies_output_dict = {}
|
|
||||||
|
|
||||||
# Handle the case where user_list is empty or does not contain the expected keys and values
|
|
||||||
if not user_list:
|
|
||||||
return show_output_dict, episode_output_dict, movies_output_dict
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
show_output_dict = {}
|
||||||
|
|
||||||
show_output_keys = user_list.keys()
|
show_output_keys = user_list.keys()
|
||||||
show_output_keys = [dict(x) for x in list(show_output_keys)]
|
show_output_keys = [dict(x) for x in list(show_output_keys)]
|
||||||
for show_key in show_output_keys:
|
for show_key in show_output_keys:
|
||||||
@@ -112,10 +150,15 @@ def generate_library_guids_dict(user_list: dict):
|
|||||||
show_output_dict[provider_key.lower()].append(
|
show_output_dict[provider_key.lower()].append(
|
||||||
provider_value.lower()
|
provider_value.lower()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return show_output_dict
|
||||||
except Exception:
|
except Exception:
|
||||||
logger("Generating show_output_dict failed, skipping", 1)
|
logger("Generating show_output_dict failed, skipping", 1)
|
||||||
|
return {}
|
||||||
|
|
||||||
|
def episode_title_dict(user_list: dict):
|
||||||
try:
|
try:
|
||||||
|
episode_output_dict = {}
|
||||||
for show in user_list:
|
for show in user_list:
|
||||||
for season in user_list[show]:
|
for season in user_list[show]:
|
||||||
for episode in user_list[show][season]:
|
for episode in user_list[show][season]:
|
||||||
@@ -131,10 +174,15 @@ def generate_library_guids_dict(user_list: dict):
|
|||||||
episode_output_dict[episode_key.lower()].append(
|
episode_output_dict[episode_key.lower()].append(
|
||||||
episode_value.lower()
|
episode_value.lower()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return episode_output_dict
|
||||||
except Exception:
|
except Exception:
|
||||||
logger("Generating episode_output_dict failed, skipping", 1)
|
logger("Generating episode_output_dict failed, skipping", 1)
|
||||||
|
return {}
|
||||||
|
|
||||||
|
def movies_title_dict(user_list: dict):
|
||||||
try:
|
try:
|
||||||
|
movies_output_dict = {}
|
||||||
for movie in user_list:
|
for movie in user_list:
|
||||||
for movie_key, movie_value in movie.items():
|
for movie_key, movie_value in movie.items():
|
||||||
if movie_key.lower() not in movies_output_dict:
|
if movie_key.lower() not in movies_output_dict:
|
||||||
@@ -144,7 +192,19 @@ def generate_library_guids_dict(user_list: dict):
|
|||||||
movies_output_dict[movie_key.lower()].append(movie_location)
|
movies_output_dict[movie_key.lower()].append(movie_location)
|
||||||
else:
|
else:
|
||||||
movies_output_dict[movie_key.lower()].append(movie_value.lower())
|
movies_output_dict[movie_key.lower()].append(movie_value.lower())
|
||||||
|
|
||||||
|
return movies_output_dict
|
||||||
except Exception:
|
except Exception:
|
||||||
logger("Generating movies_output_dict failed, skipping", 1)
|
logger("Generating movies_output_dict failed, skipping", 1)
|
||||||
|
return {}
|
||||||
|
|
||||||
|
def generate_library_guids_dict(user_list: dict):
|
||||||
|
# Handle the case where user_list is empty or does not contain the expected keys and values
|
||||||
|
if not user_list:
|
||||||
|
return {}, {}, {}
|
||||||
|
|
||||||
|
show_output_dict = show_title_dict(user_list)
|
||||||
|
episode_output_dict = episode_title_dict(user_list)
|
||||||
|
movies_output_dict = movies_title_dict(user_list)
|
||||||
|
|
||||||
return show_output_dict, episode_output_dict, movies_output_dict
|
return show_output_dict, episode_output_dict, movies_output_dict
|
||||||
|
|||||||
Reference in New Issue
Block a user