diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 2500ce5..68348ce 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -1147,4 +1147,8 @@ msgstr "Rewatch Days (0 = Disabled)" msgctxt "#30452" msgid "Combine instead of replace (might cause slow-down)" -msgstr "Combine instead of replace (might cause slow-down)" \ No newline at end of file +msgstr "Combine instead of replace (might cause slow-down)" + +msgctxt "#30453" +msgid "Hide number of items to show on entry title" +msgstr "Hide number of items to show on entry title" \ No newline at end of file diff --git a/resources/lib/menu_functions.py b/resources/lib/menu_functions.py index dd49010..b0e7ee2 100644 --- a/resources/lib/menu_functions.py +++ b/resources/lib/menu_functions.py @@ -16,7 +16,7 @@ from .jellyfin import api from .kodi_utils import add_menu_directory_item, HomeWindow from .lazylogger import LazyLogger from .utils import ( - get_jellyfin_url, translate_string, get_art_url, + get_filtered_items_count_text, get_jellyfin_url, translate_string, get_art_url, get_default_filters, get_current_user_id ) from .item_functions import get_art @@ -659,7 +659,7 @@ def display_homevideos_type(menu_params, view): params["Limit"] = item_limit path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=homevideos" - add_menu_directory_item(view_name + translate_string(30267) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30267) + get_filtered_items_count_text(), url) # Recently added params = {} @@ -673,7 +673,7 @@ def display_homevideos_type(menu_params, view): params["Limit"] = item_limit path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=homevideos" - add_menu_directory_item(view_name + translate_string(30268) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30268) + get_filtered_items_count_text(), url) xbmcplugin.endOfDirectory(handle) @@ -749,7 +749,7 @@ def display_tvshow_type(menu_params, view): path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=Episodes&sort=none" url += "&name_format=" + quote('Episode|episode_name_format') - add_menu_directory_item(view_name + translate_string(30267) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30267) + get_filtered_items_count_text(), url) # Latest Episodes params = {} @@ -760,7 +760,7 @@ def display_tvshow_type(menu_params, view): params["IncludeItemTypes"] = "Episode" path = get_jellyfin_url("/Users/{userid}/Items/Latest", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=tvshows&sort=none" - add_menu_directory_item(view_name + translate_string(30288) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30288) + get_filtered_items_count_text(), url) # Recently Added params = {} @@ -773,7 +773,7 @@ def display_tvshow_type(menu_params, view): path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=Episodes&sort=none" url += "&name_format=" + quote('Episode|episode_name_format') - add_menu_directory_item(view_name + translate_string(30268) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30268) + get_filtered_items_count_text(), url) # Next Up Episodes params = {} @@ -787,7 +787,7 @@ def display_tvshow_type(menu_params, view): path = get_jellyfin_url("/Shows/NextUp", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=Episodes&sort=none" url += "&name_format=" + quote('Episode|episode_name_format') - add_menu_directory_item(view_name + translate_string(30278) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30278) + get_filtered_items_count_text(), url) # TV Show Genres path = "plugin://plugin.video.jellycon/?mode=GENRES&item_type=tvshow" @@ -835,7 +835,7 @@ def display_music_type(menu_params, view): } path = get_jellyfin_url("/Users/{userid}/Items/Latest", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=MusicAlbums" - add_menu_directory_item(view_name + translate_string(30268) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30268) + get_filtered_items_count_text(), url) # recently played params = { @@ -850,7 +850,7 @@ def display_music_type(menu_params, view): } path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=MusicAlbum" - add_menu_directory_item(view_name + translate_string(30349) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30349) + get_filtered_items_count_text(), url) # most played params = { @@ -865,7 +865,7 @@ def display_music_type(menu_params, view): } path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=MusicAlbum" - add_menu_directory_item(view_name + translate_string(30353) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30353) + get_filtered_items_count_text(), url) # artists params = { @@ -1030,7 +1030,7 @@ def display_movies_type(menu_params, view): params["Limit"] = item_limit path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=movies&sort=none" - add_menu_directory_item('{}{} ({})'.format(view_name, translate_string(30349), item_limit), url) + add_menu_directory_item(('{}{}{}').format(view_name, translate_string(30349), get_filtered_items_count_text()), url) # Resumable Movies params = {} @@ -1041,7 +1041,7 @@ def display_movies_type(menu_params, view): params["Limit"] = item_limit path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=movies&sort=none" - add_menu_directory_item('{}{} ({})'.format(view_name, translate_string(30267), item_limit), url) + add_menu_directory_item(('{}{}{}').format(view_name, translate_string(30267), get_filtered_items_count_text()), url) # Recently Added Movies params = {} @@ -1054,7 +1054,7 @@ def display_movies_type(menu_params, view): params["Limit"] = item_limit path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=movies&sort=none" - add_menu_directory_item('{}{} ({})'.format(view_name, translate_string(30268), item_limit), url) + add_menu_directory_item(('{}{}{}').format(view_name, translate_string(30268), get_filtered_items_count_text()), url) # Collections params = {} @@ -1168,7 +1168,7 @@ def display_mixed_type(params, view): path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=mixed&sort=none" url += "&name_format=" + quote('Episode|episode_name_format') - add_menu_directory_item(view_name + translate_string(30267) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30267) + get_filtered_items_count_text(), url) # Latest mixed params = {} @@ -1179,7 +1179,7 @@ def display_mixed_type(params, view): params["IncludeItemTypes"] = "Episode" path = get_jellyfin_url("/Users/{userid}/Items/Latest", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=mixed&sort=none" - add_menu_directory_item(view_name + translate_string(30288) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30288) + get_filtered_items_count_text(), url) # Recently Added params = {} @@ -1192,7 +1192,7 @@ def display_mixed_type(params, view): path = get_jellyfin_url("/Users/{userid}/Items", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=mixed&sort=none" url += "&name_format=" + quote('Episode|episode_name_format') - add_menu_directory_item(view_name + translate_string(30268) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30268) + get_filtered_items_count_text(), url) # Next Up Episodes params = {} @@ -1206,7 +1206,7 @@ def display_mixed_type(params, view): path = get_jellyfin_url("/Shows/NextUp", params) url = sys.argv[0] + "?url=" + quote(path) + "&mode=GET_CONTENT&media_type=Episodes&sort=none" url += "&name_format=" + quote('Episode|episode_name_format') - add_menu_directory_item(view_name + translate_string(30278) + " (" + item_limit + ")", url) + add_menu_directory_item(view_name + translate_string(30278) + get_filtered_items_count_text(), url) # Mixed Genres path = "plugin://plugin.video.jellycon/?mode=GENRES&item_type=mixed" @@ -1331,28 +1331,28 @@ def display_library_view(params): display_mixed_type(params, view_info) -def show_widgets(): - item_limit = settings.getSetting("show_x_filtered_items") - +def show_widgets(): add_menu_directory_item("All Movies", 'plugin://plugin.video.jellycon/library/movies') + + item_limit_text = get_filtered_items_count_text() - add_menu_directory_item(translate_string(30257) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30257) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=recent_movies') - add_menu_directory_item(translate_string(30258) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30258) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=inprogress_movies') - add_menu_directory_item(translate_string(30269) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30269) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=random_movies') - add_menu_directory_item(translate_string(30403) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30403) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=movie_recommendations') - add_menu_directory_item(translate_string(30287) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30287) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=recent_tvshows') - add_menu_directory_item(translate_string(30263) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30263) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=recent_episodes') - add_menu_directory_item(translate_string(30264) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30264) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=inprogress_episodes') - add_menu_directory_item(translate_string(30265) + " (" + item_limit + ")", + add_menu_directory_item(translate_string(30265) + item_limit_text, 'plugin://plugin.video.jellycon/?mode=WIDGET_CONTENT&type=nextup_episodes') xbmcplugin.endOfDirectory(int(sys.argv[1])) diff --git a/resources/lib/utils.py b/resources/lib/utils.py index 9612e9b..159b44a 100644 --- a/resources/lib/utils.py +++ b/resources/lib/utils.py @@ -451,3 +451,10 @@ def get_bitrate(enum_value): 7000, 8000, 9000, 10000, 12000, 14000, 16000, 18000, 20000, 25000, 30000, 35000, 40000, 100000, 1000000, 2147483] return bitrate[int(enum_value) if enum_value else 24] * 1000 + +def get_filtered_items_count_text(): + settings = xbmcaddon.Addon() + if settings.getSetting("hide_x_filtered_items_count") == 'true' : + return "" + else: + return " (" + settings.getSetting("show_x_filtered_items") + ")" \ No newline at end of file diff --git a/resources/settings.xml b/resources/settings.xml index f0dd7ff..7346cab 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -81,6 +81,7 @@ +