diff --git a/plugin.video.retrospect/README.md b/plugin.video.retrospect/README.md index 7becedce5..b27a7f181 100644 --- a/plugin.video.retrospect/README.md +++ b/plugin.video.retrospect/README.md @@ -505,7 +505,7 @@ The following persons have supported Retrospect by donating (the list is sorted - Olle Brink - Magnus Bertilsson - Per-Eric Larsson -- Arjen Heidinga +- Arjen Heidinga (Monthly) - Jim Altis - Jelte Veldstra - Jules Harms @@ -532,3 +532,16 @@ The following persons have supported Retrospect by donating (the list is sorted - Robert Wijnands - Roger Ekholm - Magnus Holmquist +- Lars-Gunnar Carlsson +- Daniel Polders +- Tim Hosman +- Tobias Skoglund +- M J Poortman +- Steven Hoving +- Remco Wulms +- A Majoor +- Dimitri Dekker +- Gfp Van Dijck +- Matthijs Droes +- John L Lardee +- Philip Johansson diff --git a/plugin.video.retrospect/addon.xml b/plugin.video.retrospect/addon.xml index 17df00886..a994616f3 100644 --- a/plugin.video.retrospect/addon.xml +++ b/plugin.video.retrospect/addon.xml @@ -1,6 +1,6 @@ @@ -122,9 +122,9 @@ all GPL-3.0-or-later en nl de sv no lt lv fi - [B]Retrospect v5.7.0 - Changelog - 2023-11-18[/B] + [B]Retrospect v5.7.1 - Changelog - 2023-11-20[/B] -This update includes two major fixes for both TV4 Play (Sweden) en NPO Start (Netherlands). Both channels had their API renewed and needed a complete rewrite. +Minor 'after-care'-updates for the NPO channel. After the large update for both TV4 Play (Sweden) en NPO Start (Netherlands). Both channels had their API renewed and needed a complete rewrite. [B]Framework related[/B] * Added: Web-based dialog to insert values. @@ -135,6 +135,12 @@ This update includes two major fixes for both TV4 Play (Sweden) en NPO Start (Ne [B]Channel related[/B] * Fixed: TV4 Play major update of API (Fixes #1714). * Fixed: NPO Start major update of API (Fixes #1730). +* Fixed: "Today" is not update after 23:59 (NPO). +* Added: broadcast time for "dailies" (NPO). +* Changed: Improved log-in experience (NPO). +* Added: season and episode info for "series" (NPO). +* Fixed: Folder Icon for seasons. +* Fixed: Improved NPO Plus filtering. diff --git a/plugin.video.retrospect/channels/channel.nos/nos2010/chn_nos2010.py b/plugin.video.retrospect/channels/channel.nos/nos2010/chn_nos2010.py index f03fd658b..542dd3fd6 100644 --- a/plugin.video.retrospect/channels/channel.nos/nos2010/chn_nos2010.py +++ b/plugin.video.retrospect/channels/channel.nos/nos2010/chn_nos2010.py @@ -2,13 +2,14 @@ import datetime import time -from typing import Optional, List, Tuple, Dict +from typing import Optional, List, Tuple, Dict, Union import pytz from resources.lib import chn_class from resources.lib import contenttype from resources.lib import mediatype +from resources.lib.channelinfo import ChannelInfo from resources.lib.helpers.htmlentityhelper import HtmlEntityHelper from resources.lib.logger import Logger from resources.lib.regexer import Regexer @@ -30,7 +31,7 @@ class Channel(chn_class.Channel): main class from which all channels inherit """ - def __init__(self, channel_info): + def __init__(self, channel_info: ChannelInfo): """ Initialisation of the class. All class variables should be instantiated here and this method should not @@ -199,13 +200,21 @@ def __init__(self, channel_info): # ====================================== Actual channel setup STOPS here ======================================= return - def log_on(self): + def log_on(self) -> bool: + if self.loggedOn: + return True + return self.__log_on(False) - def __log_on(self, force_log_off=False): + def __log_on(self, force_log_off: bool = False) -> bool: """ Makes sure that we are logged on. """ - def log_out_npo(): + def log_out_npo() -> None: + # Old cookies + UriHandler.delete_cookie(domain=".npostart.nl") + UriHandler.delete_cookie(domain=".npo.nl") + UriHandler.delete_cookie(domain="www.npostart.nl") + # New cookies UriHandler.delete_cookie(domain="id.npo.nl") UriHandler.delete_cookie(domain="npo.nl") AddonSettings.set_channel_setting(self, "previous_username", username, store=LOCAL) @@ -259,6 +268,9 @@ def log_out_npo(): datetime.datetime.utcfromtimestamp(expires).strftime('%Y-%m-%d %H:%M:%S')) return bool(profile.json) + # Force a full check-out + log_out_npo() + Logger.info("Starting new NPO log in.") v = Vault() password = v.get_channel_setting(self.guid, "password") @@ -292,7 +304,7 @@ def log_out_npo(): return False return bool(JsonHelper(profile).json) - def get_initial_folder_items(self, data): + def get_initial_folder_items(self, data: Union[str, JsonHelper]) -> Tuple[Union[str, JsonHelper], List[MediaItem]]: """ Creates the initial folder items for this channel. :param str data: The retrieve data that was loaded for the current item and URL. @@ -390,13 +402,12 @@ def add_item(language_id: int, url: str, content_type: str, return data, items - def get_additional_live_items(self, data): + def get_additional_live_items(self, data: Union[str, JsonHelper]) -> Tuple[Union[str, JsonHelper], List[MediaItem]]: """ Adds some missing live items to the list of live items. - :param str data: The retrieve data that was loaded for the current item and URL. + :param data: The retrieve data that was loaded for the current item and URL. :return: A tuple of the data and a list of MediaItems that were generated. - :rtype: tuple[str|JsonHelper,list[MediaItem]] """ @@ -448,7 +459,7 @@ def get_additional_live_items(self, data): items.append(item) return data, items - def create_profile_item(self, result_set): + def create_profile_item(self, result_set: dict) -> Optional[MediaItem]: """ Creates a new MediaItem for a the profiles in NPO Start. This method creates a new MediaItem from the Regular Expression or Json @@ -470,7 +481,7 @@ def create_profile_item(self, result_set): item.metaData["id"] = result_set["guid"] return item - def switch_profile(self, data): + def switch_profile(self, data: Union[str, JsonHelper]) -> Tuple[Union[str, JsonHelper], List[MediaItem]]: """ Switches to the selected profile. :param str data: The retrieve data that was loaded for the current item and URL. @@ -602,7 +613,7 @@ def create_api_season_item(self, result_set: dict) -> Optional[MediaItem]: title = f"{title} - {label}" url = f"https://npo.nl/start/api/domain/programs-by-season?guid={guid}" item = FolderItem(title, url, content_type=contenttype.EPISODES, - media_type=mediatype.SEASON) + media_type=mediatype.FOLDER) item.description = result_set.get("synopsis") item.metaData["seasonKey"] = result_set["seasonKey"] @@ -622,10 +633,12 @@ def create_api_episode_item(self, result_set: dict, show_info: bool = False) -> MediaItem]: title = result_set["title"] poms = result_set["productId"] + serie_info = result_set.get("series", {}) if show_info and result_set["series"]: show_title = result_set["series"]["title"] - title = f"{show_title} - {title}" + if show_title: + title = f"{show_title} - {title}" item = MediaItem(title, poms, media_type=mediatype.EPISODE) @@ -644,19 +657,42 @@ def create_api_episode_item(self, result_set: dict, show_info: bool = False) -> item.set_date(date_time.year, date_time.month, date_time.day, date_time.hour, date_time.minute, date_time.second) + serie_slug = serie_info.get("slug", "") + if serie_slug in ("nos-journaal", "nos-journaal-met-gebarentaal"): + item.name = f"{item.name} {date_time.hour:02d}:{round(date_time.minute, -1):02d}" + if "restrictions" in result_set: for restriction in result_set["restrictions"]: subscription = restriction.get("subscriptionType", "free") - if subscription == "free": + has_stream = restriction.get("isStreamReady", False) + if subscription == "free" and has_stream: + # Check if the 'till' date was in the past + till_stamp = restriction.get("available", {}).get("till", 0) or 0 + till = DateHelper.get_date_from_posix(till_stamp, tz=pytz.UTC) + if till_stamp and till < datetime.datetime.now(tz=pytz.UTC): + item.isPaid = True + # Due to a bug in the NPO API, this content could be viewed for free. + # for now we just don't show it. + if not self.__has_premium(): + return None + else: + break item.isPaid = False # Always stop after a "free" break if subscription == "premium": item.isPaid = True + + episode_number = result_set.get("programKey") + season_number = result_set.get("season", {}).get("seasonKey") + show_type = serie_info.get("type") + if episode_number and season_number and show_type.endswith("series"): + item.set_season_info(season_number, episode_number) + return item - def create_api_live_tv(self, result_set): + def create_api_live_tv(self, result_set: dict, show_info: bool = False) -> Optional[MediaItem]: """ Creates a MediaItem for a live item of type 'video' using the result_set from the regex. This method creates a new MediaItem from the Regular Expression or Json @@ -691,7 +727,7 @@ def create_api_live_tv(self, result_set): item.isLive = True return item - def create_api_epg_tree(self, data: str) -> Tuple[JsonHelper, List[MediaItem]]: + def create_api_epg_tree(self, data: Union[str, JsonHelper]) -> Tuple[Union[str, JsonHelper], List[MediaItem]]: data = JsonHelper(data) # Keep a list of the days. day_lookup: Dict[str, MediaItem] = {} @@ -705,6 +741,8 @@ def create_api_epg_tree(self, data: str) -> Tuple[JsonHelper, List[MediaItem]]: # Fetch channel EPG url = f"https://npo.nl/start/api/domain/guide-channel?guid={guid}" channel_info = JsonHelper(UriHandler.open(url)) + # The time to add to the "Today" end-time. + delta = datetime.timedelta(hours=5) for day_info in channel_info.get_value("days"): # Check if a day already exists @@ -714,34 +752,43 @@ def create_api_epg_tree(self, data: str) -> Tuple[JsonHelper, List[MediaItem]]: day, month, year = date.split("-") time_stamp = datetime.datetime(int(year), int(month), int(day)) # See"Today" as the day before until 05:00 AM. - now = datetime.datetime.now() - datetime.timedelta(hours=5) - if time_stamp > now: + now = datetime.datetime.now() - delta + if time_stamp <= now: + # Only add days up until "Today" + days = LanguageHelper.get_days_list() + day_name = days[time_stamp.weekday()] + + if time_stamp.date() == now.date(): + day_name = LanguageHelper.get_localized_string(LanguageHelper.Today) + elif time_stamp.date() == now.date() - datetime.timedelta(days=1): + day_name = LanguageHelper.get_localized_string(LanguageHelper.Yesterday) + + day_item = FolderItem(f"{date} - {day_name}", "", content_type=contenttype.EPISODES) + day_item.set_date(year, month, day) + day_lookup[date] = day_item + elif time_stamp > now + datetime.timedelta(days=1): + # Don't add show after "Tomorrow". That way the `delta` after midnight of + # `Today` can be filled. continue - days = LanguageHelper.get_days_list() - day_name = days[time_stamp.weekday()] - - if time_stamp.date() == now.date(): - day_name = LanguageHelper.get_localized_string(LanguageHelper.Today) - elif time_stamp.date() == now.date() - datetime.timedelta(days=1): - day_name = LanguageHelper.get_localized_string(LanguageHelper.Yesterday) - - day_item = FolderItem(f"{date} - {day_name}", "", content_type=contenttype.EPISODES) - day_item.set_date(year, month, day) - day_lookup[date] = day_item - for program in day_info["scheduledPrograms"]: item = self.create_api_epg_item(program, channel) if not item: continue - # We should show all shows until 5:00 am the next day so link them up. date_stamp = DateHelper.get_date_from_posix(program["programStart"], tz=pytz.UTC) date_stamp = date_stamp.astimezone(tz=self.__timezone) date_label = date_stamp.strftime("%d-%m-%Y") if date_label in day_lookup: day_item = day_lookup[date_label] day_item.items.append(item) + else: + # See if we passed midnight on today. + date_stamp -= delta + date_label = date_stamp.strftime("%d-%m-%Y") + if date_label in day_lookup: + day_item = day_lookup[date_label] + day_item.items.append(item) return data, list(day_lookup.values()) @@ -808,7 +855,7 @@ def create_api_epg_item(self, result_set: dict, channel: Optional[str] = None) - item.description = image_data.get("description") return item - def update_epg_series_item(self, item: MediaItem): + def update_epg_series_item(self, item: MediaItem) -> MediaItem: # Go from season slug, show slug & program guid -> # ?? https://npo.nl/start/api/domain/series-detail?slug=boer-zoekt-vrouw # ?? Fetch the type @@ -834,7 +881,7 @@ def update_epg_series_item(self, item: MediaItem): return self.__update_video_item(item, product_id) # noinspection PyUnusedLocal - def search_site(self, url=None): # @UnusedVariable + def search_site(self, url=None) -> List[MediaItem]: # @UnusedVariable """ Creates an list of items by searching the site. This method is called when the URL of an item is "searchSite". The channel @@ -1066,7 +1113,7 @@ def search_site(self, url=None): # @UnusedVariable # item.isGeoLocked = any([r for r in region_restrictions if r != "PLUSVOD:EU"]) # return item - def create_live_radio(self, result_set): + def create_live_radio(self, result_set: dict) -> Optional[MediaItem]: """ Creates a MediaItem for a live radio item of type 'video' using the result_set from the regex. @@ -1107,7 +1154,7 @@ def create_live_radio(self, result_set): return item - def update_video_item(self, item): + def update_video_item(self, item: MediaItem) -> MediaItem: """ Updates an existing MediaItem with more data. Used to update none complete MediaItems (self.complete = False). This @@ -1136,7 +1183,7 @@ def update_video_item(self, item): whatson_id = item.url return self.__update_video_item(item, whatson_id) - def update_video_item_live(self, item): + def update_video_item_live(self, item: MediaItem) -> MediaItem: """ Updates an existing Live MediaItem with more data. Used to update none complete MediaItems (self.complete = False). This @@ -1285,17 +1332,20 @@ def create_iptv_epg(self, parameter_parser): parameter_parser.pickler.store_media_items(parent.guid, parent, media_items) return iptv_epg - def __has_premium(self): + def __has_premium(self) -> bool: if self.__has_premium_cache is None: + if not self.loggedOn: + self.log_on() + data = UriHandler.open("https://npo.nl/start/api/auth/session") json = JsonHelper(data) - subscriptions = json.get_value("subscription", None) + subscriptions = json.get_value("subscription", fallback=None) self.__has_premium_cache = subscriptions is not None Logger.debug("Found subscriptions: %s", subscriptions) return self.__has_premium_cache - def __update_video_item(self, item, episode_id, fetch_subtitles=True): + def __update_video_item(self, item: MediaItem, episode_id: str, fetch_subtitles: bool = True) -> MediaItem: """ Updates an existing MediaItem with more data. Used to update none complete MediaItems (self.complete = False). This @@ -1379,7 +1429,7 @@ def __update_video_item(self, item, episode_id, fetch_subtitles=True): # ) return item - def __ignore_cookie_law(self): + def __ignore_cookie_law(self) -> None: """ Accepts the cookies from UZG in order to have the site available """ Logger.info("Setting the Cookie-Consent cookie for www.uitzendinggemist.nl") @@ -1391,10 +1441,6 @@ def __ignore_cookie_law(self): UriHandler.set_cookie(name='npo_cc', value='30', domain='.npostart.nl') return - def __get_url_for_pom(self, pom): - url = "https://start-api.npo.nl/page/franchise/{0}".format(pom) - return url - def __get_xsrf_token(self) -> str: """ Retrieves a JSON Token and XSRF token @@ -1406,40 +1452,3 @@ def __get_xsrf_token(self) -> str: data = UriHandler.open("https://npo.nl/start/api/auth/csrf", no_cache=True) csrf_token = JsonHelper(data).get_value("csrfToken") return csrf_token - - def __get_name_for_api_video(self, result_set, for_epg): - """ Determines the name of the video item given the episode name, franchise name and - show title. - - :param list[str]|dict[str,str] result_set: The result_set of the self.episodeItemRegex - :param bool for_epg: use this item in an EPG listing - - :return: The name of the video item - :rtype: string - - """ - - # We need to strip the : because some shows have them and they make no sense. - show_title = result_set["title"] or result_set["franchiseTitle"] - show_title = show_title.strip(":") - episode_title = result_set["episodeTitle"] - if result_set["type"] == "fragment": - episode_title = episode_title or result_set["title"] - if for_epg: - channel = result_set["channel"] - name = "{} - {}".format(channel, show_title) - if episode_title and show_title != episode_title: - name = "{} - {}".format(name, episode_title) - else: - name = episode_title - if not bool(name): - name = result_set.get('franchiseTitle') - - # In some cases the title of the show (not episode) is different from the franchise - # title. In that case we want to add the title of the show in front of the name, but - # only if that does not lead to duplication - elif show_title != result_set.get('franchiseTitle') \ - and show_title != name: - name = "{} - {}".format(show_title, name) - - return name diff --git a/plugin.video.retrospect/resources/language/resource.language.af_za/strings.po b/plugin.video.retrospect/resources/language/resource.language.af_za/strings.po index 9c0f50ca2..a9e854127 100644 --- a/plugin.video.retrospect/resources/language/resource.language.af_za/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.af_za/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.am_et/strings.po b/plugin.video.retrospect/resources/language/resource.language.am_et/strings.po index a1e819993..4ce3c6b36 100644 --- a/plugin.video.retrospect/resources/language/resource.language.am_et/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.am_et/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ar_sa/strings.po b/plugin.video.retrospect/resources/language/resource.language.ar_sa/strings.po index 8156a3e68..05b8be7e4 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ar_sa/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ar_sa/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ast_es/strings.po b/plugin.video.retrospect/resources/language/resource.language.ast_es/strings.po index 0ee98f85b..cdddbaf9e 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ast_es/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ast_es/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.az_az/strings.po b/plugin.video.retrospect/resources/language/resource.language.az_az/strings.po index dfeca015a..537a4b1e0 100644 --- a/plugin.video.retrospect/resources/language/resource.language.az_az/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.az_az/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.be_by/strings.po b/plugin.video.retrospect/resources/language/resource.language.be_by/strings.po index d8a39d32d..92c28cea8 100644 --- a/plugin.video.retrospect/resources/language/resource.language.be_by/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.be_by/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.bg_bg/strings.po b/plugin.video.retrospect/resources/language/resource.language.bg_bg/strings.po index 7e5aeaf88..03bcca335 100644 --- a/plugin.video.retrospect/resources/language/resource.language.bg_bg/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.bg_bg/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.bs_ba/strings.po b/plugin.video.retrospect/resources/language/resource.language.bs_ba/strings.po index d6be6b5f6..89f10b499 100644 --- a/plugin.video.retrospect/resources/language/resource.language.bs_ba/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.bs_ba/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ca_es/strings.po b/plugin.video.retrospect/resources/language/resource.language.ca_es/strings.po index d51818773..043ffea20 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ca_es/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ca_es/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.cs_cz/strings.po b/plugin.video.retrospect/resources/language/resource.language.cs_cz/strings.po index fe15ce327..b997218a2 100644 --- a/plugin.video.retrospect/resources/language/resource.language.cs_cz/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.cs_cz/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.cy_gb/strings.po b/plugin.video.retrospect/resources/language/resource.language.cy_gb/strings.po index f43304da6..86338ec92 100644 --- a/plugin.video.retrospect/resources/language/resource.language.cy_gb/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.cy_gb/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.da_dk/strings.po b/plugin.video.retrospect/resources/language/resource.language.da_dk/strings.po index c45b8b118..11567bf26 100644 --- a/plugin.video.retrospect/resources/language/resource.language.da_dk/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.da_dk/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.de_de/strings.po b/plugin.video.retrospect/resources/language/resource.language.de_de/strings.po index d299eeaa6..9d068ef46 100644 --- a/plugin.video.retrospect/resources/language/resource.language.de_de/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.de_de/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Alle Episoden" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.el_gr/strings.po b/plugin.video.retrospect/resources/language/resource.language.el_gr/strings.po index ba71a9ea8..41b582b4d 100644 --- a/plugin.video.retrospect/resources/language/resource.language.el_gr/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.el_gr/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.en_au/strings.po b/plugin.video.retrospect/resources/language/resource.language.en_au/strings.po index da4c7fa0e..7b3ee99d8 100644 --- a/plugin.video.retrospect/resources/language/resource.language.en_au/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.en_au/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.en_nz/strings.po b/plugin.video.retrospect/resources/language/resource.language.en_nz/strings.po index e960caccd..6baec989d 100644 --- a/plugin.video.retrospect/resources/language/resource.language.en_nz/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.en_nz/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.en_us/strings.po b/plugin.video.retrospect/resources/language/resource.language.en_us/strings.po index ec4429203..bee8c0271 100644 --- a/plugin.video.retrospect/resources/language/resource.language.en_us/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.en_us/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.eo/strings.po b/plugin.video.retrospect/resources/language/resource.language.eo/strings.po index 286cd4579..04a9c8c10 100644 --- a/plugin.video.retrospect/resources/language/resource.language.eo/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.eo/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.es_ar/strings.po b/plugin.video.retrospect/resources/language/resource.language.es_ar/strings.po index e0b9d14c6..9ddb999d8 100644 --- a/plugin.video.retrospect/resources/language/resource.language.es_ar/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.es_ar/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.es_es/strings.po b/plugin.video.retrospect/resources/language/resource.language.es_es/strings.po index 31b1dbd85..f2aae9c9e 100644 --- a/plugin.video.retrospect/resources/language/resource.language.es_es/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.es_es/strings.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Retrospect Add-on\n" -"Report-Msgid-Bugs-To: translations@kodi.tv\n" +"Report-Msgid-Bugs-To: https://github.com/retrospect-addon/plugin.video.retrospect/issues\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2023-11-09 22:11+0000\n" "Last-Translator: José Antonio Alvarado \n" @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Todos los episodios" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.es_mx/strings.po b/plugin.video.retrospect/resources/language/resource.language.es_mx/strings.po index f05ca9bec..6e033c075 100644 --- a/plugin.video.retrospect/resources/language/resource.language.es_mx/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.es_mx/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Todos los episodios" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.et_ee/strings.po b/plugin.video.retrospect/resources/language/resource.language.et_ee/strings.po index 07b77cda1..f762c0c15 100644 --- a/plugin.video.retrospect/resources/language/resource.language.et_ee/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.et_ee/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.eu_es/strings.po b/plugin.video.retrospect/resources/language/resource.language.eu_es/strings.po index df7f6a893..75009b10b 100644 --- a/plugin.video.retrospect/resources/language/resource.language.eu_es/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.eu_es/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.fa_af/strings.po b/plugin.video.retrospect/resources/language/resource.language.fa_af/strings.po index df81cb7ff..9270a9459 100644 --- a/plugin.video.retrospect/resources/language/resource.language.fa_af/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.fa_af/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.fa_ir/strings.po b/plugin.video.retrospect/resources/language/resource.language.fa_ir/strings.po index 9acbb2f45..179fbac4a 100644 --- a/plugin.video.retrospect/resources/language/resource.language.fa_ir/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.fa_ir/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.fi_fi/strings.po b/plugin.video.retrospect/resources/language/resource.language.fi_fi/strings.po index 791474c0c..e18226049 100644 --- a/plugin.video.retrospect/resources/language/resource.language.fi_fi/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.fi_fi/strings.po @@ -726,6 +726,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Kaikki jaksot" +msgctxt "#30371" +msgid "Trending" +msgstr "" + msgctxt "#30401" msgid "Dutch" msgstr "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.fo_fo/strings.po b/plugin.video.retrospect/resources/language/resource.language.fo_fo/strings.po index 5a4991b16..a6e63dc78 100644 --- a/plugin.video.retrospect/resources/language/resource.language.fo_fo/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.fo_fo/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.fr_ca/strings.po b/plugin.video.retrospect/resources/language/resource.language.fr_ca/strings.po index 581ad7703..ad30d2f8c 100644 --- a/plugin.video.retrospect/resources/language/resource.language.fr_ca/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.fr_ca/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.fr_fr/strings.po b/plugin.video.retrospect/resources/language/resource.language.fr_fr/strings.po index 471e50abd..d411e7eda 100644 --- a/plugin.video.retrospect/resources/language/resource.language.fr_fr/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.fr_fr/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.gl_es/strings.po b/plugin.video.retrospect/resources/language/resource.language.gl_es/strings.po index e04b310fa..bf1c7bab9 100644 --- a/plugin.video.retrospect/resources/language/resource.language.gl_es/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.gl_es/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.he_il/strings.po b/plugin.video.retrospect/resources/language/resource.language.he_il/strings.po index 9b9284c5b..1430de2cf 100644 --- a/plugin.video.retrospect/resources/language/resource.language.he_il/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.he_il/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "כל הפרקים" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.hi_in/strings.po b/plugin.video.retrospect/resources/language/resource.language.hi_in/strings.po index 4261028ca..90b8787b8 100644 --- a/plugin.video.retrospect/resources/language/resource.language.hi_in/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.hi_in/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.hr_hr/strings.po b/plugin.video.retrospect/resources/language/resource.language.hr_hr/strings.po index 137afd987..f4a563d84 100644 --- a/plugin.video.retrospect/resources/language/resource.language.hr_hr/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.hr_hr/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.hu_hu/strings.po b/plugin.video.retrospect/resources/language/resource.language.hu_hu/strings.po index 327bb836b..f44f0b693 100644 --- a/plugin.video.retrospect/resources/language/resource.language.hu_hu/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.hu_hu/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.hy_am/strings.po b/plugin.video.retrospect/resources/language/resource.language.hy_am/strings.po index f8095fe86..18fed3034 100644 --- a/plugin.video.retrospect/resources/language/resource.language.hy_am/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.hy_am/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.id_id/strings.po b/plugin.video.retrospect/resources/language/resource.language.id_id/strings.po index fc7ee0baf..6392c85df 100644 --- a/plugin.video.retrospect/resources/language/resource.language.id_id/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.id_id/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.is_is/strings.po b/plugin.video.retrospect/resources/language/resource.language.is_is/strings.po index 1b91d7f89..d445356c4 100644 --- a/plugin.video.retrospect/resources/language/resource.language.is_is/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.is_is/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.it_it/strings.po b/plugin.video.retrospect/resources/language/resource.language.it_it/strings.po index 9a66def00..4a3b01c23 100644 --- a/plugin.video.retrospect/resources/language/resource.language.it_it/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.it_it/strings.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Retrospect Add-on\n" -"Report-Msgid-Bugs-To: translations@kodi.tv\n" +"Report-Msgid-Bugs-To: https://github.com/retrospect-addon/plugin.video.retrospect/issues\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2023-11-13 00:11+0000\n" "Last-Translator: Massimo Pissarello \n" @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Tutti gli episodi" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ja_jp/strings.po b/plugin.video.retrospect/resources/language/resource.language.ja_jp/strings.po index f09bd478b..1792e8f60 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ja_jp/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ja_jp/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.kn_in/strings.po b/plugin.video.retrospect/resources/language/resource.language.kn_in/strings.po index 92a60a08d..8258ae4d1 100644 --- a/plugin.video.retrospect/resources/language/resource.language.kn_in/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.kn_in/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ko_kr/strings.po b/plugin.video.retrospect/resources/language/resource.language.ko_kr/strings.po index ec09a7f9f..6ebbb69e9 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ko_kr/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ko_kr/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.lt_lt/strings.po b/plugin.video.retrospect/resources/language/resource.language.lt_lt/strings.po index 1d910242e..830dea003 100644 --- a/plugin.video.retrospect/resources/language/resource.language.lt_lt/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.lt_lt/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.lv_lv/strings.po b/plugin.video.retrospect/resources/language/resource.language.lv_lv/strings.po index 85dac2c00..6ebd66b45 100644 --- a/plugin.video.retrospect/resources/language/resource.language.lv_lv/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.lv_lv/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.mi/strings.po b/plugin.video.retrospect/resources/language/resource.language.mi/strings.po index 6f80dfb1e..83dd437c9 100644 --- a/plugin.video.retrospect/resources/language/resource.language.mi/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.mi/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.mk_mk/strings.po b/plugin.video.retrospect/resources/language/resource.language.mk_mk/strings.po index 820b1a4e7..9873ed1e6 100644 --- a/plugin.video.retrospect/resources/language/resource.language.mk_mk/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.mk_mk/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ml_in/strings.po b/plugin.video.retrospect/resources/language/resource.language.ml_in/strings.po index decc199a8..ef67896b9 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ml_in/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ml_in/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.mn_mn/strings.po b/plugin.video.retrospect/resources/language/resource.language.mn_mn/strings.po index af87787ee..14620af64 100644 --- a/plugin.video.retrospect/resources/language/resource.language.mn_mn/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.mn_mn/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ms_my/strings.po b/plugin.video.retrospect/resources/language/resource.language.ms_my/strings.po index 0e166717c..8b2f37e7e 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ms_my/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ms_my/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.mt_mt/strings.po b/plugin.video.retrospect/resources/language/resource.language.mt_mt/strings.po index 2daa0be9d..1c324b57e 100644 --- a/plugin.video.retrospect/resources/language/resource.language.mt_mt/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.mt_mt/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.my_mm/strings.po b/plugin.video.retrospect/resources/language/resource.language.my_mm/strings.po index 12e41ce5d..859c09e90 100644 --- a/plugin.video.retrospect/resources/language/resource.language.my_mm/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.my_mm/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.nb_no/strings.po b/plugin.video.retrospect/resources/language/resource.language.nb_no/strings.po index 5bc0140bc..e46cf35fe 100644 --- a/plugin.video.retrospect/resources/language/resource.language.nb_no/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.nb_no/strings.po @@ -726,6 +726,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + msgctxt "#30401" msgid "Dutch" msgstr "Nederlandsk" diff --git a/plugin.video.retrospect/resources/language/resource.language.nl_nl/strings.po b/plugin.video.retrospect/resources/language/resource.language.nl_nl/strings.po index 310f1707d..41f319015 100644 --- a/plugin.video.retrospect/resources/language/resource.language.nl_nl/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.nl_nl/strings.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Retrospect Add-on\n" -"Report-Msgid-Bugs-To: translations@kodi.tv\n" +"Report-Msgid-Bugs-To: https://github.com/retrospect-addon/plugin.video.retrospect/issues\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2023-11-13 00:11+0000\n" "Last-Translator: bas \n" @@ -734,6 +734,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Alle afleveringen" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30367 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.os_os/strings.po b/plugin.video.retrospect/resources/language/resource.language.os_os/strings.po index 9b2ed3ea0..2584b5243 100644 --- a/plugin.video.retrospect/resources/language/resource.language.os_os/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.os_os/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.pl_pl/strings.po b/plugin.video.retrospect/resources/language/resource.language.pl_pl/strings.po index dc1c3243c..d47763550 100644 --- a/plugin.video.retrospect/resources/language/resource.language.pl_pl/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.pl_pl/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Wszystkie odcinki" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.pt_br/strings.po b/plugin.video.retrospect/resources/language/resource.language.pt_br/strings.po index 7b38bfb62..ca13652d1 100644 --- a/plugin.video.retrospect/resources/language/resource.language.pt_br/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.pt_br/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.pt_pt/strings.po b/plugin.video.retrospect/resources/language/resource.language.pt_pt/strings.po index cd1c4ba22..8960753b8 100644 --- a/plugin.video.retrospect/resources/language/resource.language.pt_pt/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.pt_pt/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ro_ro/strings.po b/plugin.video.retrospect/resources/language/resource.language.ro_ro/strings.po index 61a265710..a6f9e7d71 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ro_ro/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ro_ro/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ru_ru/strings.po b/plugin.video.retrospect/resources/language/resource.language.ru_ru/strings.po index adb151652..483768900 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ru_ru/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ru_ru/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.si_lk/strings.po b/plugin.video.retrospect/resources/language/resource.language.si_lk/strings.po index f125a8a70..dfd7fcbec 100644 --- a/plugin.video.retrospect/resources/language/resource.language.si_lk/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.si_lk/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.sk_sk/strings.po b/plugin.video.retrospect/resources/language/resource.language.sk_sk/strings.po index d0a700450..74c7089ab 100644 --- a/plugin.video.retrospect/resources/language/resource.language.sk_sk/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.sk_sk/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Všetky epizódy" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.sl_si/strings.po b/plugin.video.retrospect/resources/language/resource.language.sl_si/strings.po index 47f747c65..986430b13 100644 --- a/plugin.video.retrospect/resources/language/resource.language.sl_si/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.sl_si/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.sq_al/strings.po b/plugin.video.retrospect/resources/language/resource.language.sq_al/strings.po index 4f93aecef..0bb2cd17c 100644 --- a/plugin.video.retrospect/resources/language/resource.language.sq_al/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.sq_al/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.sr_rs/strings.po b/plugin.video.retrospect/resources/language/resource.language.sr_rs/strings.po index 62fa17e5a..7cfd8ba21 100644 --- a/plugin.video.retrospect/resources/language/resource.language.sr_rs/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.sr_rs/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.sr_rs@latin/strings.po b/plugin.video.retrospect/resources/language/resource.language.sr_rs@latin/strings.po index a55146561..eff3987a9 100644 --- a/plugin.video.retrospect/resources/language/resource.language.sr_rs@latin/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.sr_rs@latin/strings.po @@ -732,6 +732,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30367 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.sv_se/strings.po b/plugin.video.retrospect/resources/language/resource.language.sv_se/strings.po index 4f7cbdcdf..3c2ecb926 100644 --- a/plugin.video.retrospect/resources/language/resource.language.sv_se/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.sv_se/strings.po @@ -735,6 +735,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "Alla avsnitt" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.szl/strings.po b/plugin.video.retrospect/resources/language/resource.language.szl/strings.po index 800e332ec..a61d90f45 100644 --- a/plugin.video.retrospect/resources/language/resource.language.szl/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.szl/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.ta_in/strings.po b/plugin.video.retrospect/resources/language/resource.language.ta_in/strings.po index e59e69740..5a50919cd 100644 --- a/plugin.video.retrospect/resources/language/resource.language.ta_in/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.ta_in/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.te_in/strings.po b/plugin.video.retrospect/resources/language/resource.language.te_in/strings.po index 71cbf6a66..e745033d1 100644 --- a/plugin.video.retrospect/resources/language/resource.language.te_in/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.te_in/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.tg_tj/strings.po b/plugin.video.retrospect/resources/language/resource.language.tg_tj/strings.po index 8be53cfe2..a9f044015 100644 --- a/plugin.video.retrospect/resources/language/resource.language.tg_tj/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.tg_tj/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.th_th/strings.po b/plugin.video.retrospect/resources/language/resource.language.th_th/strings.po index 23fbc581d..04bc902fe 100644 --- a/plugin.video.retrospect/resources/language/resource.language.th_th/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.th_th/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.tr_tr/strings.po b/plugin.video.retrospect/resources/language/resource.language.tr_tr/strings.po index 7022660a4..9fdc363fb 100644 --- a/plugin.video.retrospect/resources/language/resource.language.tr_tr/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.tr_tr/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.uk_ua/strings.po b/plugin.video.retrospect/resources/language/resource.language.uk_ua/strings.po index de3d9783f..75ed45351 100644 --- a/plugin.video.retrospect/resources/language/resource.language.uk_ua/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.uk_ua/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.uz_uz/strings.po b/plugin.video.retrospect/resources/language/resource.language.uz_uz/strings.po index 663e4b046..79203b731 100644 --- a/plugin.video.retrospect/resources/language/resource.language.uz_uz/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.uz_uz/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.vi_vn/strings.po b/plugin.video.retrospect/resources/language/resource.language.vi_vn/strings.po index d099d8a74..4fac919b5 100644 --- a/plugin.video.retrospect/resources/language/resource.language.vi_vn/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.vi_vn/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.zh_cn/strings.po b/plugin.video.retrospect/resources/language/resource.language.zh_cn/strings.po index 891b96b50..2b1686c54 100644 --- a/plugin.video.retrospect/resources/language/resource.language.zh_cn/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.zh_cn/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/language/resource.language.zh_tw/strings.po b/plugin.video.retrospect/resources/language/resource.language.zh_tw/strings.po index 9855dd99d..50b1f8647 100644 --- a/plugin.video.retrospect/resources/language/resource.language.zh_tw/strings.po +++ b/plugin.video.retrospect/resources/language/resource.language.zh_tw/strings.po @@ -731,6 +731,10 @@ msgctxt "#30370" msgid "All episodes" msgstr "" +msgctxt "#30371" +msgid "Trending" +msgstr "" + # empty strings from id 30365 to 30400 msgctxt "#30401" msgid "Dutch" diff --git a/plugin.video.retrospect/resources/lib/actions/folderaction.py b/plugin.video.retrospect/resources/lib/actions/folderaction.py index 4109ef354..cedbb0ec2 100644 --- a/plugin.video.retrospect/resources/lib/actions/folderaction.py +++ b/plugin.video.retrospect/resources/lib/actions/folderaction.py @@ -285,7 +285,8 @@ def __add_sort_method_to_handle(self, handle, items=None): sort_methods.insert(0, xbmcplugin.SORT_METHOD_TRACKNUM) # Check for episodes - if all([(i.has_info_label(MediaItem.LabelEpisode) and i.is_playable) for i in items]): + playable = [i for i in items if i.is_playable] + if playable and all([i.has_info_label(MediaItem.LabelEpisode) for i in playable]): # All playable items have episodes, pre-sort them on that. sort_methods.insert(0, xbmcplugin.SORT_METHOD_EPISODE) # 24 diff --git a/plugin.video.retrospect/resources/lib/streams/npostream.py b/plugin.video.retrospect/resources/lib/streams/npostream.py index 6b5a10276..cb9e21c0a 100644 --- a/plugin.video.retrospect/resources/lib/streams/npostream.py +++ b/plugin.video.retrospect/resources/lib/streams/npostream.py @@ -1,8 +1,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later -import time +from typing import Optional -from resources.lib.helpers.htmlentityhelper import HtmlEntityHelper -from resources.lib.helpers.htmlhelper import HtmlHelper from resources.lib.helpers.jsonhelper import JsonHelper from resources.lib.streams.m3u8 import M3u8 from resources.lib.streams.mpd import Mpd @@ -31,7 +29,8 @@ def get_subtitle(stream_id): return SubtitleHelper.download_subtitle(sub_title_url, stream_id + ".srt", format='srt') @staticmethod - def add_mpd_stream_from_npo(url, episode_id, item, headers=None, live=False): + def add_mpd_stream_from_npo(url, episode_id: str, item: MediaItem, + headers: Optional[dict] = None, live: bool = False) -> Optional[str]: """ Extracts the Dash streams for the given url or episode id :param str|None url: The url to download @@ -74,6 +73,11 @@ def add_mpd_stream_from_npo(url, episode_id, item, headers=None, live=False): data = UriHandler.open("https://prod.npoplayer.nl/stream-link", json=video_data, additional_headers=video_headers) video_info = JsonHelper(data) + status = video_info.get_value("status", fallback=0) + if status: + message = video_info.get_value("body") + return message + drm_token = video_info.get_value("stream", "drmToken") stream_url = video_info.get_value("stream", "streamURL")