Skip to content

Commit 90837bf

Browse files
authored
Merge pull request #4586 from basrieter/retrospect-matrix
[plugin.video.retrospect] v5.7.19
2 parents 73c05ec + d932e7e commit 90837bf

File tree

85 files changed

+442
-244
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+442
-244
lines changed

plugin.video.retrospect/addon.xml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
22
<addon id="plugin.video.retrospect"
3-
version="5.7.18"
3+
version="5.7.19"
44
name="Retrospect"
55
provider-name="Bas Rieter">
66

@@ -123,19 +123,23 @@
123123
<platform>all</platform>
124124
<license>GPL-3.0-or-later</license>
125125
<language>en nl de sv no lt lv fi</language>
126-
<news>[B]Retrospect v5.7.18 - Changelog - 2024-09-29[/B]
126+
<news>[B]Retrospect v5.7.19 - Changelog - 2024-10-17[/B]
127127

128-
Updated: Minor channel updates.
128+
Updated a number of channels that were broken.
129129

130130
[B]Framework related[/B]
131-
* Fixed: Logging out when no username is set.
131+
_None_
132132

133133
[B]GUI/Settings/Language related[/B]
134134
_None_
135135

136136
[B]Channel related[/B]
137-
* Fixed: NPO Start recent items broke due to an API change (Fixes #1838).
138-
* Removed: Nickelodeon &amp; MTV channels as they no longer provide videos.
137+
* Fixed: SVT category listings broke (Fixes #1843).
138+
* Fixed: TV4 API issues.
139+
* Fixed: RegioGroei Broke.
140+
* Fixed: Vier parsing (Fixes #1846).
141+
* Fixed: TV4 Category listing (Fixes #1844).
142+
* Fixed: UR Play Category listing (Fixes #1847).
139143

140144
</news>
141145
<assets>

plugin.video.retrospect/channels/channel.be/vier/chn_vier.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ def __init__(self, regex: str):
3030
def __call__(self, data: str) -> Tuple[JsonHelper, List[MediaItem]]:
3131
nextjs_regex = self.__regex
3232
try:
33-
nextjs_data = Regexer.do_regex(nextjs_regex, data)[0]
33+
result = Regexer.do_regex(nextjs_regex, data)
34+
nextjs_data = result[0]
3435
except:
3536
Logger.debug(f"RAW NextJS: {data}")
3637
raise
@@ -106,7 +107,7 @@ def __init__(self, channel_info):
106107
parser=[], creator=self.create_typed_nextjs_item)
107108

108109
self._add_data_parser("https://www.goplay.be/", json=True, name="Main show parser",
109-
preprocessor=NextJsParser(r"{\"playlists\":(.+)}\]}\]\]$"),
110+
preprocessor=NextJsParser(r"{\"playlists\":(.+)}\]}\]\][\r\n]"),
110111
parser=[], creator=self.create_season_item,
111112
postprocessor=self.show_single_season)
112113

plugin.video.retrospect/channels/channel.regionalnl/regiogroei/chn_regiogroei.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ def create_video_item(self, result_set, epg_item=False):
287287
return None
288288

289289
program_title = result_set["programTitle"]
290-
episode_title = result_set["episodeTitle"]
290+
episode_title = result_set.get("episodeTitle")
291291
url = "{}{}".format(self.baseUrl, result_set["_links"]["page"]["href"])
292292

293293
item = MediaItem(episode_title or program_title, url, media_type=mediatype.EPISODE)
@@ -301,13 +301,18 @@ def create_video_item(self, result_set, epg_item=False):
301301
date_time = date_time.astimezone(self.__timezone)
302302
item.set_date(date_time.year, date_time.month, date_time.day,
303303
date_time.hour, date_time.minute, date_time.second)
304+
304305
if epg_item:
305306
if episode_title and program_title:
306307
item.name = "{:02d}:{:02d} - {} - {}".format(date_time.hour, date_time.minute,
307308
program_title, episode_title)
308309
else:
309310
item.name = "{:02d}:{:02d} - {}".format(date_time.hour, date_time.minute,
310311
item.title)
312+
elif not episode_title:
313+
item.name = f"{item.name} {date_time.year}-{date_time.month:02}-{date_time.day:02}"
314+
315+
311316

312317
item.complete = False
313318
return item

plugin.video.retrospect/channels/channel.se/svt/chn_svt.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ def add_live_items_and_genres(self, data):
192192
LanguageHelper.get_localized_string(LanguageHelper.CurrentlyPlayingEpisodes): (
193193
self.__get_api_url(
194194
"GridPage",
195-
"a8248fc130da34208aba94c4d5cc7bd44187b5f36476d8d05e03724321aafb40",
195+
"1e2d15ff7ffa578d33ebf1287d3f7af7fd47125552b564e96fd277a744345a69",
196196
variables={"includeFullOppetArkiv": True, "selectionId": "live_start"}),
197197
False),
198198

@@ -964,7 +964,7 @@ def fetch_genre_api_data(self, data):
964964

965965
data = UriHandler.open(url)
966966
json_data = JsonHelper(data)
967-
possible_lists = json_data.get_value("data", "categoryPage", "lazyLoadedTabs", 1, "selections")
967+
possible_lists = json_data.get_value("data", "categoryPage", "lazyLoadedTabs", -1, "selections")
968968
program_items = [genres["items"] for genres in possible_lists if
969969
genres["selectionType"] == "all"]
970970
json_data.json = {
@@ -1362,11 +1362,11 @@ def __update_item_from_video_references(self, item, videos, subtitles=None, righ
13621362
# LB = Low Bandwidth
13631363

13641364
if in_sweden or not item.isGeoLocked:
1365-
supported_formats = {"hls": 0, "hls-ts-full": 2, "hls-cmaf-full": 3}
1365+
supported_formats = {"hls": 10, "hls-ts-full": 12, "hls-cmaf-full": 13}
13661366
if not is_drm_protected:
13671367
supported_formats.update({"dash": 3, "dash-hbbtv-avc": 4, "dashhbbtv": 4})
13681368
else:
1369-
supported_formats = {"hls": 0, "hls-ts-avc-51": 1}
1369+
supported_formats = {"hls": 10, "hls-ts-avc-51": 11}
13701370
if not is_drm_protected:
13711371
supported_formats.update({"dash": 2, "dash-avc-51": 3})
13721372

plugin.video.retrospect/channels/channel.se/tv4se/chn_tv4se.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def __init__(self, channel_info):
4848
if self.channelCode == "tv4segroup":
4949
self.noImage = "tv4image.png"
5050
self.httpHeaders = {"Content-Type": "application/json", "Client-Name": "tv4-web",
51-
"Client-Version": "4.0.0"}
51+
"Client-Version": "5.2.0"}
5252
else:
5353
raise Exception("Invalid channel code")
5454

@@ -782,7 +782,6 @@ def __get_api_query(self, operation: str, variables: dict, use_get: bool = False
782782
"SportEventVideoFields": "fragment SportEventVideoFields on SportEvent { title id slug isLiveContent isDrmProtected access { hasAccess } synopsis { medium } images { logo { ...ImageFieldsLight } main16x9 { ...ImageFieldsLight source } brandLogo { ...ImageFieldsLight } } playableUntil { isoString humanDateTime } playableFrom { humanDateTime isoString readableDistance } liveEventEnd { isoString } }",
783783
"SurveyPollFields": "fragment SurveyPollFields on SurveyPoll { buttonText color endTime id image { main4x3 { ...ImageFieldsFull } } inactiveSubtitle inactiveTitle liveTriggerTimestamps options { id image { option1x1 { ...ImageFieldsLight } } text } publishing { metadataIds videoAssetIds } resultConfiguration { isResultPublic isResultStatic } resultSubtitle resultTitle status subtitle title vodTriggerTimes }",
784784
"ThemePanelFields": "fragment ThemePanelFields on ThemePanel { id title pitch hexColor images { image16x9 { ...ImageFieldsFull } } link { ... on ThemePanelSeriesLink { series { id slug genres numberOfAvailableSeasons parentalRating { ...ParentalRatingFields } images { brandLogo { ...ImageFieldsLight } } upsell { tierId } } } ... on ThemePanelMovieLink { movie { id slug genres productionCountries { countryCode name } productionYear parentalRating { ...ParentalRatingFields } images { brandLogo { ...ImageFieldsLight } } upsell { tierId } } } ... on ThemePanelEpisodeLink { episode { id slug upsell { tierId } } } ... on ThemePanelClipLink { clip { id slug } } ... on ThemePanelPageLink { page { id } } ... on ThemePanelUrlsLink { webUrl } ... on ThemePanelSportEventLink { sportEvent { id slug arena league round playableFrom { humanDateTime isoString readableDate } images { brandLogo { ...ImageFieldsLight } } upsell { tierId } } } } themePanelLinkText: linkText showMetadataForLink subtitle trailers { ...TrailerFields } showUpsellLabel }",
785-
"TierPanels": "fragment TierPanels on TiersPanel { id title }",
786785
"TrailerFields": "fragment TrailerFields on Trailers { mp4 webm }",
787786
"UpcomingEpisodeFields": "fragment UpcomingEpisodeFields on UpcomingEpisode { id title seasonTitle playableFrom { humanDateTime isoString readableDateShort } image { main16x9 { ...ImageFieldsLight } } upsell { tierId } } ",
788787
"VideoFields": "fragment VideoFields on Video { id duration { readableShort readableMinutes seconds } isLiveContent access { hasAccess } isDrmProtected }",
@@ -860,7 +859,6 @@ def __get_api_query(self, operation: str, variables: dict, use_get: bool = False
860859
query = """
861860
query Page($pageId: ID!, $input: PageContentInput!) { page(id: $pageId) { id title content(input: $input) { pageInfo { ...PageInfoFields } panels {
862861
__typename
863-
... on TiersPanel { __typename id title detailed }
864862
... on ContinueWatchingPanel { __typename id title }
865863
... on MediaPanel { __typename id slug title displayHint { mediaPanelImageRatio } }
866864
... on SportEventPanel { __typename id title }
@@ -871,7 +869,6 @@ def __get_api_query(self, operation: str, variables: dict, use_get: bool = False
871869
... on ChannelPanel { __typename id title type }
872870
... on ThemePanel { __typename ...ThemePanelFields }
873871
... on SinglePanel { __typename ...SinglePanelFields }
874-
... on TiersPanel { __typename id title }
875872
} } } }
876873
%(PageInfoFields)s %(ThemePanelFields)s %(SinglePanelFields)s %(ImageFieldsFull)s %(ParentalRatingFields)s
877874
%(ImageFieldsLight)s %(TrailerFields)s %(SportEventFieldsLight)s %(SeriesFieldsLight)s %(MovieFieldsLight)s

0 commit comments

Comments
 (0)