From 04edd2559671a6d4e91e8771be57bb0c9ddac36b Mon Sep 17 00:00:00 2001 From: Rasmus Lundsgaard Date: Wed, 29 Jan 2025 22:41:43 +0100 Subject: [PATCH] Fix IOexception errors on VERO (#117) * Fix "IOException error" and HTTP timeouts. * Better output during re-caching. * Fix re-caching to also cache full description urls. --- README.md | 2 +- addon.xml | 9 ++- changelog.txt | 5 ++ .../resource.language.da_dk/strings.po | 4 + .../resource.language.en_gb/strings.po | 4 + resources/lib/addon.py | 5 +- resources/lib/tvapi.py | 69 ++++++++++++------ resources/settings.xml | 4 + tests/test_routing.py | 2 +- tests/userdata/menudata/daglige_forslag.json | 14 ++-- .../menudata/st\303\270rste_programmer.json" | 30 +++----- tests/userdata/requests.cache.sqlite | Bin 4218880 -> 5152768 bytes 12 files changed, 96 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index 08136ea..ed39600 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,6 @@ ## Known issues -*Inputstream.adaptive* in Matrix (kodi 19) has a bug with subtitles, which is why it is advised to use the `subtitles from file` setting that is a legacy way of handling subtitles. On Nexus (kodi 20) this has been fixed in *Inputstream.adaptive*, and `subtitles from file` should be switched off. +Fetching data for especially the alphabet section can be very slow, this can be greatly improved by activating the re-cache cron job if kodi anyhow is running on a device that is always on. With version 6.2.0 I have made a big change in settings handling backend, and if kodi has not been restarted after this upgrade, some of the fields in settings can have empty naming. Just restart kodi and it should be fixed. diff --git a/addon.xml b/addon.xml index a6fb814..615f6fa 100644 --- a/addon.xml +++ b/addon.xml @@ -1,11 +1,11 @@ - + - + video @@ -31,6 +31,11 @@ resources/media/Screenshot3.jpg resources/media/Screenshot4.jpg + [B]Version 6.5.0 - 2024-01-22[/B] + - Fix "IOException error" and HTTP timeouts. + - Better output during re-caching. + - Fix re-caching to also cache full description urls. + [B]Version 6.4.6 - 2024-11-01[/B] - Fix "unsupported_subCode" issue. - Fix time offset in live tv EPG. diff --git a/changelog.txt b/changelog.txt index 76627d9..e51f1b9 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,8 @@ +[B]Version 6.5.0 - 2024-01-22[/B] +- Fix "IOException error" and HTTP timeouts. +- Better output during re-caching. +- Fix re-caching to also cache full description urls. + [B]Version 6.4.6 - 2024-11-01[/B] - Fix "unsupported_subCode" issue. - Fix time offset in live tv EPG. diff --git a/resources/language/resource.language.da_dk/strings.po b/resources/language/resource.language.da_dk/strings.po index 75bf4ef..11b4a6d 100644 --- a/resources/language/resource.language.da_dk/strings.po +++ b/resources/language/resource.language.da_dk/strings.po @@ -297,3 +297,7 @@ msgstr "Rapporter gerne fejlen på github" msgctxt "#30907" msgid "https://github.com/xbmc-danish-addons/plugin.video.drnu/issues" msgstr "https://github.com/xbmc-danish-addons/plugin.video.drnu/issues" + +msgctxt "#30908" +msgid "Hent fuld beskrivelse af episoder" +msgstr "" diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 9399814..b12f852 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -300,3 +300,7 @@ msgstr "" msgctxt "#30907" msgid "https://github.com/xbmc-danish-addons/plugin.video.drnu/issues" msgstr "" + +msgctxt "#30908" +msgid "Fetch full descriptions of items" +msgstr "" diff --git a/resources/lib/addon.py b/resources/lib/addon.py index c5bb1a3..2f30db6 100644 --- a/resources/lib/addon.py +++ b/resources/lib/addon.py @@ -70,7 +70,7 @@ def kodi_version_major(): def version(s): - return [int(item) for item in s.split('.')] + return [int(item) for item in s.split('-')[0].split('.')] class DrDkTvAddon(object): @@ -615,12 +615,15 @@ def route(self, query): self.list_entries('/gensyn') except tvapi.ApiException as ex: + log(['API exception', query], level=1) self.displayError(str(ex)) except IOError as ex: + log(['IO exception', query], level=1) self.displayIOError(str(ex)) except Exception as ex: + log(['Exception', query], level=1) stack = traceback.format_exc() heading = 'drnu addon crash' xbmcgui.Dialog().ok(heading, '\n'.join([tr(30906), tr(30907), str(stack)])) diff --git a/resources/lib/tvapi.py b/resources/lib/tvapi.py index 0535bac..212d63b 100644 --- a/resources/lib/tvapi.py +++ b/resources/lib/tvapi.py @@ -29,8 +29,9 @@ import time from dateutil import parser from datetime import datetime, timezone, timedelta -from urllib.parse import urlparse, parse_qs, parse_qsl, urlencode, urlunparse - +from urllib.parse import urlparse, parse_qs, parse_qsl, urlencode +from requests.adapters import HTTPAdapter +from urllib3.util import Retry CHANNEL_IDS = [20875, 20876, 192099, 192100, 20892] CHANNEL_PRESET = { @@ -41,7 +42,7 @@ 'DRTV Ekstra': 5 } URL = 'https://production.dr-massive.com/api' -GET_TIMEOUT = 5 +GET_TIMEOUT = 10 def cache_path(path): @@ -51,15 +52,18 @@ def cache_path(path): return True -def fix_query(url, remove={}, add={}): - o = list(urlparse(url)) - qs = dict(parse_qsl(o[4])) +def fix_query(url, remove={}, add={}, remove_keys=[]): + o = urlparse(url) + qs = dict(parse_qsl(o.query)) + for k in remove_keys: + if k in qs: + del qs[k] for k,v in remove.items(): if qs.get(k) == v: del qs[k] qs.update(add) - o[4] = urlencode(qs) - return urlunparse(o) + qs = dict(sorted(qs.items())) + return o._replace(query=urlencode(qs)).geturl() def full_login(user, password): @@ -150,7 +154,10 @@ def __init__(self, cachePath, getLocalizedString, get_setting): self.cleanup_every = int(get_setting('recache.cleanup')) self.expire_hours = int(get_setting('recache.expiration')) self.caching = get_setting('recache.enabled') == 'true' + self.fetch_full_plot = get_setting('fetch.full_plot') == 'true' self.expire_seconds = 3600*self.expire_hours if self.expire_hours >= 0 else None + retry = Retry(total=3, backoff_factor=2, status_forcelist=[429, 500, 502, 503, 504]) + self.adapter = HTTPAdapter(max_retries=retry) self.init_sqlite_db() self.token_file = Path(f'{self.cachePath}/token.p') @@ -167,6 +174,7 @@ def init_sqlite_db(self): request_fname = str(self.cachePath/'requests.cache') self.session = requests_cache.CachedSession( request_fname, backend='sqlite', expire_after=self.expire_seconds) + self.session.mount('https://', self.adapter) if (self.cachePath/'requests_cleaned').exists(): if (time.time() - (self.cachePath/'requests_cleaned').stat().st_mtime)/3600/24 < self.cleanup_every: @@ -181,6 +189,7 @@ def init_sqlite_db(self): (self.cachePath/'requests.cache.sqlite').unlink() self.session = requests_cache.CachedSession( request_fname, backend='sqlite', expire_after=self.expire_seconds) + self.session.mount('https://', self.adapter) (self.cachePath/'requests_cleaned').write_text(str(datetime.now())) def read_tokens(self, tokens): @@ -273,6 +282,7 @@ def _request_get(self, url, params=None, headers=None, use_cache=True): u = self.session.get(url, params=params, headers=headers, timeout=GET_TIMEOUT) else: u = requests.get(url, params=params, headers=headers, timeout=GET_TIMEOUT) + if u.status_code == 200: return u.json() else: @@ -295,7 +305,8 @@ def get_item(self, id, use_cache=True): def get_next(self, path, use_cache=True, headers=None): remove = {'sub':'Emergency'} - url = URL + fix_query(path, remove=remove) + remove_keys = ['lang', 'segments', 'isDeviceAbroad', 'isLive2VodSupported'] + url = URL + fix_query(path, remove=remove, remove_keys=remove_keys) return self._request_get(url, headers=headers, use_cache=use_cache) def get_list(self, id, param, use_cache=True): @@ -371,7 +382,7 @@ def get_profile(self, use_cache=False): url = URL + '/account/profile' headers = {'X-Authorization': 'Bearer ' + self.profile_token()} return self._request_get(url, headers=headers, use_cache=use_cache) - + def kids_item(self, item): if 'classification' in item: if item['classification']['code'] in ['DR-Ramasjang', 'DR-Minisjang']: @@ -382,12 +393,21 @@ def kids_item(self, item): return True return False - def unfold_list(self, item, filter_kids=False, headers=None): + def unfold_list(self, item, filter_kids=False, headers=None, progress=None): items = item['items'] if 'next' in item['paging']: + if progress is not None: + if progress.iscanceled(): + return items + progress.update(self.progress_prc, self.msg + f"page {item['paging']['page']} of {item['paging']['total']}") + next_js = self.get_next(item['paging']['next'], headers=headers) items += next_js['items'] while 'next' in next_js['paging']: + if progress is not None: + if progress.iscanceled(): + return items + progress.update(self.progress_prc, self.msg + f"page {next_js['paging']['page']} of {next_js['paging']['total']}") next_js = self.get_next(next_js['paging']['next'], headers=headers) items += next_js['items'] if filter_kids: @@ -449,22 +469,23 @@ def recache_items(self, progress=None, clear_expired=False): i = 0 for item in js['entries']: if item['type'] == 'ListEntry': - st2 = time.time() - self.unfold_list(item['list']) - msg = f"{self.tr(30523)}'{item['title']}'\n{time.time() - st2:.1f}s" - if progress is not None: - if progress.iscanceled(): - return - progress.update(int(100*(i+1)/maxidx), msg) + self.msg = f"{self.tr(30523)}'{item['title']}'\n" + self.progress_prc = int(100 * (i + 1) / maxidx) + for sub_item in self.unfold_list(item['list'], progress=progress): + if self.fetch_full_plot: + if progress is not None: + if progress.iscanceled(): + return + progress.update(self.progress_prc, self.msg + 'updating descriptions...') + self.fix_item_description(sub_item) i += 1 - for channel in ['dr-ramasjang', 'dr-minisjang', 'dr-ultra']: - self.get_children_front_items(channel) - msg = f"{self.tr(30523)}'{channel}'\n{time.time() - st2:.1f}s" + msg = f"{self.tr(30523)}'{channel}'\n" if progress is not None: if progress.iscanceled(): return progress.update(int(100*(i+1)/maxidx), msg) + self.get_children_front_items(channel) i += 1 def get_children_front_items(self, channel): @@ -576,13 +597,17 @@ def get_title(self, item): title += f" ({item['contextualTitle']})" return title - def set_info(self, item, tag, title): + def fix_item_description(self, item): if len(item.get('shortDescription', '')) >= 255 and item.get('description', '') == '': resumetime_save = float(item.get('ResumeTime', 0.0)) item = self.get_item(item['id']) if resumetime_save > 0: item['ResumeTime'] = resumetime_save + return item + def set_info(self, item, tag, title): + if self.fetch_full_plot: + item = self.fix_item_description(item) tag.setTitle(title) if item.get('shortDescription', '') and item['shortDescription'] != 'LinkItem': tag.setPlot(item['shortDescription']) diff --git a/resources/settings.xml b/resources/settings.xml index 2ac9919..d6a0ffb 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -59,6 +59,10 @@ 0 false + + 0 true + + 0 false diff --git a/tests/test_routing.py b/tests/test_routing.py index 35dedde..3400cd2 100644 --- a/tests/test_routing.py +++ b/tests/test_routing.py @@ -148,7 +148,7 @@ def test_a_aa(capsys): handle.route(a_aa[0]['url']) a = [iteminfo(item) for item in get_items().values()] - myEqual(len(a), 102) + myEqual(len(a), 116) myEqual(a[0]['label'], 'A Storm Foretold - det amerikanske oprør') # handle.route(a[0]['url']) # test playing diff --git a/tests/userdata/menudata/daglige_forslag.json b/tests/userdata/menudata/daglige_forslag.json index c9a627e..07567dc 100644 --- a/tests/userdata/menudata/daglige_forslag.json +++ b/tests/userdata/menudata/daglige_forslag.json @@ -10,7 +10,7 @@ "info": { "resume": null, "title": "Tæt på sandheden med Jonatan Spang: Programmet fra himlen", - "plot": "Vi er slet ikke færdige med at tale om mink, da det er kommet frem, at erstatningen til minkavlere formentlig vil stige med omkring seks milliarder kroner. Og så er der et nyt lovforslag under behandling. Det handler om, hvilket nationalflag du må have i din flagstang. Vi tager også et kig på prisstigningen for at rejse med bus, tog eller metro. Og så har vi også nået vores klimamål for 2025 - eller har vi nu også det? Udløber: 10. feb 2025", + "plot": "Vi er slet ikke færdige med at tale om mink, da det er kommet frem, at erstatningen til minkavlere formentlig vil stige med omkring seks milliarder kroner. Og så er der et nyt lovforslag under behandling. Det handler om, hvilket nationalflag du må have i ", "plotoutline": "Et satirisk blik på ugens nyheder og tendenser", "aired": "2024-02-10", "year": 2024, @@ -42,7 +42,7 @@ "info": { "resume": null, "title": "De udvalgte - Dansk Melodi Grand Prix 2024", - "plot": "Mød artisterne der skal stå på scenen til Dansk Melodi Grand Prix 2024, når Jesper Groth og Laurits Emanuel fra Fyr og Flamme tager os med bag kulisserne til dette års store Grand Prix show. Vi følger artisterne fra de bliver udvalgt og under alle de prøver der liger forud for showet. Det bliver en unik mulighed for at lære artisterne og deres musik bedre at kende inden de ugen efter skal kæmpe om, hvem der skal repræsentere Danmark ved Eurovision Song Contest. Udløber: 10. feb 2025", + "plot": "Mød artisterne der skal stå på scenen til Dansk Melodi Grand Prix 2024, når Jesper Groth og Laurits Emanuel fra Fyr og Flamme tager os med bag kulisserne til dette års store Grand Prix show. Vi følger artisterne fra de bliver udvalgt og under alle de prøv", "plotoutline": "Kom med bag kulisserne til dette års store Grand Prix-show", "aired": "2024-02-10", "year": 2024, @@ -73,7 +73,7 @@ "info": { "resume": null, "title": "Signe Molde på udebane: De rige bliver mobbet", - "plot": "Bliver de rige dæmoniseret, hetzet og faktisk direkte mobbet, bare fordi de er rige? Signe Molde møder milliardæren Niklas Nikolajsen, der hverken vil kaldes grisk eller egoistisk - også selvom han er flyttet til Schweiz. I Monaco møder Signe ejendomsmægleren Helle Skovby, der er træt af alle fordommene om fyrstendømmet. Udløber: 10. feb 2026", + "plot": "Bliver de rige dæmoniseret, hetzet og faktisk direkte mobbet, bare fordi de er rige? Signe Molde møder milliardæren Niklas Nikolajsen, der hverken vil kaldes grisk eller egoistisk - også selvom han er flyttet til Schweiz. I Monaco møder Signe ejendomsmægl", "plotoutline": "Bliver de rige dæmoniseret, hetzet og mistænkeliggjort?", "aired": "2024-02-10", "year": 2024, @@ -105,7 +105,7 @@ "info": { "resume": null, "title": "SEX MED P3: Fantasi: Expectations vs. Reality", - "plot": "Trekanter, dominans eller gangbangs? Måske deler du sexfantasier med mange flere end du tror. Er du nysgerrig på at høre om andres frække fantasier? Og skal din fantasi udleves eller blive inde i hovedet? Vi giver dig den ultimative guide til, hvad du skal stille op med din fantasi, og til at udleve den, hvis det er det, du drømmer om. Vi dykker også ned i, hvad dine fantasier i virkeligheden handler om og hvad du kan gøre, hvis du har en sexfantasi, som du gerne vil af med. Udløber: 9. feb 2026", + "plot": "Trekanter, dominans eller gangbangs? Måske deler du sexfantasier med mange flere end du tror. Er du nysgerrig på at høre om andres frække fantasier? Og skal din fantasi udleves eller blive inde i hovedet? Vi giver dig den ultimative guide til, hvad du ska", "plotoutline": "Episode 2:8 | Den ultimative guide til, hvad du skal stille op med din fantasi", "episode": 22, "mediatype": "episode" @@ -135,7 +135,7 @@ "info": { "resume": null, "title": "Fanget på havets bund", - "plot": "Dette er den sande historie om to mænds heroiske, men tilsyneladende umulige kamp for at overleve. En skibskok er strandet i en luftlomme i vraget af et sunket skib 34 meter under havets overflade. Med næsten ingen ilt og uden, at nogen aner, at han er i live. Men nogen kommer ham alligevel til undsætning. Tre dage efter forliset ankommer et redningsskib for at bjærge de døde fra vraget. En nyuddannet dykker bliver som den første sendt ind, og til sin skræk og store overraskelse finder han skibskokken i live dybt inde i det sunkne skib. Men det er først nu, at problemerne virkelig begynder, og de er begge i livsfare. Helt unikt blev hele den mirakuløse redningsaktion filmet af dykkernes hjelmkameraer og al deres kommunikation blev optaget. I tre år har Lasse Spang Olsen rejst verden rundt og fundet de involverede som - for første gang - nu selv fortæller om deres oplevelser på bunden af Atlanterhavet i en af verdens mest besynderlige redningsaktioner. Udløber: 29. dec 2028", + "plot": "Dette er den sande historie om to mænds heroiske, men tilsyneladende umulige kamp for at overleve. En skibskok er strandet i en luftlomme i vraget af et sunket skib 34 meter under havets overflade. Med næsten ingen ilt og uden, at nogen aner, at han er i ", "plotoutline": "Skibskokken Harrison fanges i et vrag på 34 meters dybde", "aired": "2024-02-10", "year": 2024, @@ -314,7 +314,7 @@ "info": { "resume": null, "title": "Danmarks bedste portrætmaler: Det helstøbte portræt", - "plot": "Vi er nået til finalen i Danmarks bedste portrætmaler, som tradition tro finder sted på Ny Carlsberg Glyptotek i København. Det er nu, de tre finalister skal vise alt, hvad de har lært gennem konkurrencen, ved at lave det helstøbte portræt af modellen Sofie Gråbøl. Men hvem imponerer de tre dommere mest og får dermed titlen som Danmarks bedste portrætmaler? Udløber: 31. dec 2027", + "plot": "Vi er nået til finalen i Danmarks bedste portrætmaler, som tradition tro finder sted på Ny Carlsberg Glyptotek i København. Det er nu, de tre finalister skal vise alt, hvad de har lært gennem konkurrencen, ved at lave det helstøbte portræt af modellen Sof", "plotoutline": "Episode 6:6 | Modellen er Sofie Gråbøl. Hvilken kunstner løber med sejren?", "aired": "2024-02-06", "year": 2024, @@ -346,7 +346,7 @@ "info": { "resume": null, "title": "I hus til halsen: Spøgelseshus nær tyren Svend Otto", - "plot": "Om to måneder slipper pengene op for Jørgen og Susanne. Så går de 5.000 kr. i minus hver måned, hvis ikke huset bliver solgt. \nMen landsbyen passer på sine børn, så alle der kan kravle og gå tropper op for at hjælpe. Designer Kalle Thesbjerg har en vild plan og bygger sofa et mystisk sted, ejendomsmægler Line Franck besøger slægtsgården, og tømrer Dennis Lindeqiust viser, hvordan man fikser et badeværelse for meget få penge. Udløber: 7. feb 2026", + "plot": "Om to måneder slipper pengene op for Jørgen og Susanne. Så går de 5.000 kr. i minus hver måned, hvis ikke huset bliver solgt. \nMen landsbyen passer på sine børn, så alle der kan kravle og gå tropper op for at hjælpe. Designer Kalle Thesbjerg har en vild", "plotoutline": "En hel landsby hjælper Jørgen og Susanne, så huset kan sælges", "episode": 7, "mediatype": "episode" diff --git "a/tests/userdata/menudata/st\303\270rste_programmer.json" "b/tests/userdata/menudata/st\303\270rste_programmer.json" index d9f40eb..ab3bdab 100644 --- "a/tests/userdata/menudata/st\303\270rste_programmer.json" +++ "b/tests/userdata/menudata/st\303\270rste_programmer.json" @@ -9,7 +9,7 @@ "info": { "resume": null, "title": "Store danske kunstnere", - "plot": "Med deres skulpturer og malerier formede de det Danmark, vi kender i dag. Det krævede kampe mod egne dæmoner, normer og kønsroller. Oplev kunstnerne Bertel Thorvaldsen, Anne Marie Carl-Nielsen, Johan Thomas Lundbye og Elisabeth Jerichau Baumann i denne dramadokumentarserie." + "plot": "Med deres skulpturer og malerier formede de det Danmark, vi kender i dag. Det krævede kampe mod egne dæmoner, normer og kønsroller. Oplev kunstnerne Bertel Thorvaldsen, Anne Marie Carl-Nielsen, Johan Thomas Lundbye og Elisabeth Jerichau Baumann i denne dr" }, "properties": {}, "contextmenu": [ @@ -60,7 +60,7 @@ "info": { "resume": null, "title": "Det store adoptionstyveri", - "plot": "David Kildendal bliver adopteret fra Indien til Lolland i 1979, og da han begynder at undersøge sin sag, dukker chokerende hemmeligheder op. Hans efterforskning fører ham på sporet af en meget større historie, hvor indiske forældre systematisk blev franarret deres børn. Den danske stat har haft ansvaret for at føre tilsyn med adoptioner, men hvem blev advaret om de ulovlige adoptioner?" + "plot": "David Kildendal bliver adopteret fra Indien til Lolland i 1979, og da han begynder at undersøge sin sag, dukker chokerende hemmeligheder op. Hans efterforskning fører ham på sporet af en meget større historie, hvor indiske forældre systematisk blev franar" }, "properties": {}, "contextmenu": [ @@ -84,7 +84,7 @@ "info": { "resume": null, "title": "Alle elsker Sinan", - "plot": "Flamboyant, provokerende, irriterende. Sinan er nogle gange lidt for meget - synes hans familie. Men selvom mor Ceylan har svært ved at acceptere alt fra hans croptops, hans venner og (især) hans seksualitet, elsker hun alligevel sin \"lille diamant\" overalt på jorden. Endda også lidt mere end sine andre børn... Når Sinan skruer op for charmen, kan han slippe af sted med hvad som helst. Til hans mere afdæmpede bror Aykuts store irritation!" + "plot": "Flamboyant, provokerende, irriterende. Sinan er nogle gange lidt for meget - synes hans familie. Men selvom mor Ceylan har svært ved at acceptere alt fra hans croptops, hans venner og (især) hans seksualitet, elsker hun alligevel sin \"lille diamant\" overa" }, "properties": {}, "contextmenu": [ @@ -108,7 +108,7 @@ "info": { "resume": null, "title": "Camma bliver kendt", - "plot": "Camma VIL være kendt! Og hun er villig til at tage alle metoder i brug for at blive en celebrity med hundredtusindvis af følgere. Derfor teamer Camma op med sanger Barbara Moleko, realitystjernen Sy Lee og Boris fra Bachelorette. Hun får en kendt fake kæreste og crasher settet på tv-serien Salsa i sin jagt på berømmelse." + "plot": "Camma VIL være kendt! Og hun er villig til at tage alle metoder i brug for at blive en celebrity med hundredtusindvis af følgere. Derfor teamer Camma op med sanger Barbara Moleko, realitystjernen Sy Lee og Boris fra Bachelorette. Hun får en kendt fake kær" }, "properties": {}, "contextmenu": [ @@ -132,7 +132,7 @@ "info": { "resume": null, "title": "I hjernen på stjernen 3", - "plot": "I denne programrække vil psykologisk manipulator Jan Hellesøe og psykolog og vært Josefine Høgh portrættere fem kendte danskere for seeren. I disse fem programmer vil Høgh og Hellesøe give hovedpersonen stof til eftertanke gennem spektakulære iscenesættelser. De to værter prøver sammen at lægge et puslespil ud af gæstens relationer, minder, sorger, tanker og følelser - som forhåbentlig til sidst vil give den kendte gæst et nyt blik på på dem selv - og på livet.", + "plot": "I denne programrække vil psykologisk manipulator Jan Hellesøe og psykolog og vært Josefine Høgh portrættere fem kendte danskere for seeren. I disse fem programmer vil Høgh og Hellesøe give hovedpersonen stof til eftertanke gennem spektakulære iscenesættel", "plotoutline": "Hele serien | Josefine og Jan møder bl.a. Ghita Nørby og Sofie Linde", "season": 3, "mediatype": "season" @@ -159,7 +159,7 @@ "info": { "resume": null, "title": "Din krop indefra", - "plot": "I denne serie får danskere med alvorlige diagnoser en konsultation, som de aldrig har prøvet før. Med hjælp af banebrydende teknologi viser nogle af Danmarks dygtigste læger, hvordan kroppen bliver påvirket af sygdommen. Og de forklarer patienterne, hvilket forløb de skal igennem for at komme raske ud på den anden side. Med sig har de Peter Qvortrup Geisling og Josefine Høgh, der sammen er med til at gøre os klogere på både krop og sind." + "plot": "I denne serie får danskere med alvorlige diagnoser en konsultation, som de aldrig har prøvet før. Med hjælp af banebrydende teknologi viser nogle af Danmarks dygtigste læger, hvordan kroppen bliver påvirket af sygdommen. Og de forklarer patienterne, hvilk" }, "properties": {}, "contextmenu": [ @@ -258,7 +258,7 @@ "info": { "resume": null, "title": "Danmarks bedste portrætmaler 5", - "plot": "Igennem seks programmer skal otte talentfulde kunstnere dyste om at blive Danmarks bedste portrætmaler. Tre erfarne dommere vælger hver uge hvem, der har malet 'Dagens bedste portræt', og hvem, der skal forlade konkurrencen - for kun tre går hele vejen til finalen.", + "plot": "Igennem seks programmer skal otte talentfulde kunstnere dyste om at blive Danmarks bedste portrætmaler. Tre erfarne dommere vælger hver uge hvem, der har malet 'Dagens bedste portræt', og hvem, der skal forlade konkurrencen - for kun tre går hele vejen ti", "plotoutline": "Otte nye talentfulde kunstnere skal male kendte danskere", "season": 5, "mediatype": "season" @@ -312,7 +312,7 @@ "info": { "resume": null, "title": "Signe Molde på udebane 3", - "plot": "Signe Molde møder med humor og nysgerrighed danskere med kontroversielle holdninger - fra mænd der savner ligestilling, og ulvehadere der vil gå meget langt for at slippe af med ulven, til en gruppe der bare gerne vil køre stærkt uden at kaldes for \"vanvidsbilister\".", + "plot": "Signe Molde møder med humor og nysgerrighed danskere med kontroversielle holdninger - fra mænd der savner ligestilling, og ulvehadere der vil gå meget langt for at slippe af med ulven, til en gruppe der bare gerne vil køre stærkt uden at kaldes for \"vanvi", "plotoutline": "Tv-værten er tilbage med nye seriøse og nysgerrige spørgsmål", "season": 3, "mediatype": "season" @@ -366,10 +366,8 @@ "info": { "resume": null, "title": "De udvalgte - Dansk Melodi Grand Prix 2024", - "plot": "Mød artisterne der skal stå på scenen til Dansk Melodi Grand Prix 2024, når Jesper Groth og Laurits Emanuel fra Fyr og Flamme tager os med bag kulisserne til dette års store Grand Prix show. Vi følger artisterne fra de bliver udvalgt og under alle de prøver der liger forud for showet. Det bliver en unik mulighed for at lære artisterne og deres musik bedre at kende inden de ugen efter skal kæmpe om, hvem der skal repræsentere Danmark ved Eurovision Song Contest. Udløber: 10. feb 2025", + "plot": "Mød artisterne der skal stå på scenen til Dansk Melodi Grand Prix 2024, når Jesper Groth og Laurits Emanuel fra Fyr og Flamme tager os med bag kulisserne til dette års store Grand Prix show. Vi følger artisterne fra de bliver udvalgt og under alle de prøv", "plotoutline": "Kom med bag kulisserne til dette års store Grand Prix-show", - "aired": "2024-02-10", - "year": 2024, "mediatype": "tvshow" }, "properties": { @@ -397,10 +395,8 @@ "info": { "resume": null, "title": "Fanget på havets bund", - "plot": "Dette er den sande historie om to mænds heroiske, men tilsyneladende umulige kamp for at overleve. En skibskok er strandet i en luftlomme i vraget af et sunket skib 34 meter under havets overflade. Med næsten ingen ilt og uden, at nogen aner, at han er i live. Men nogen kommer ham alligevel til undsætning. Tre dage efter forliset ankommer et redningsskib for at bjærge de døde fra vraget. En nyuddannet dykker bliver som den første sendt ind, og til sin skræk og store overraskelse finder han skibskokken i live dybt inde i det sunkne skib. Men det er først nu, at problemerne virkelig begynder, og de er begge i livsfare. Helt unikt blev hele den mirakuløse redningsaktion filmet af dykkernes hjelmkameraer og al deres kommunikation blev optaget. I tre år har Lasse Spang Olsen rejst verden rundt og fundet de involverede som - for første gang - nu selv fortæller om deres oplevelser på bunden af Atlanterhavet i en af verdens mest besynderlige redningsaktioner. Udløber: 29. dec 2028", + "plot": "Dette er den sande historie om to mænds heroiske, men tilsyneladende umulige kamp for at overleve. En skibskok er strandet i en luftlomme i vraget af et sunket skib 34 meter under havets overflade. Med næsten ingen ilt og uden, at nogen aner, at han er i ", "plotoutline": "Skibskokken Harrison fanges i et vrag på 34 meters dybde", - "aired": "2024-02-10", - "year": 2024, "mediatype": "tvshow" }, "properties": { @@ -428,10 +424,8 @@ "info": { "resume": null, "title": "De mistænkte", - "plot": "Pludselig bliver du anholdt. Mistænkt for svindel eller for at være i ledtog med narkokriminelle. Du siger, du er uskyldig. Men du sættes flere måneder i fængsel - varetægtsfængsel. To helt almindelige danskere sidder fængslet, mens deres sag undersøges af politiet. De fortæller om store tab, menneskeligt og økonomisk, og hvordan det rammer uskyldige og deres børn hårdt. Fire ud af ti fængselsceller i Danmark bruges konstant til varetægt. Det er et voksende problem - ikke kun for danskernes retssikkerhed - men også for hele retssystemet, siger flere dommere. Udløber: 29. jan 2026", + "plot": "Pludselig bliver du anholdt. Mistænkt for svindel eller for at være i ledtog med narkokriminelle. Du siger, du er uskyldig. Men du sættes flere måneder i fængsel - varetægtsfængsel. To helt almindelige danskere sidder fængslet, mens deres sag undersøges a", "plotoutline": "Varetægtsfængsling rammer uskyldige mennesker og deres børn hårdt", - "aired": "2024-01-29", - "year": 2024, "mediatype": "tvshow" }, "properties": { @@ -458,7 +452,7 @@ "info": { "resume": null, "title": "Forelsket i en løgn", - "plot": "Camilla troede, hun forelskede sig i den perfekte fyr. Men det viser sig, at han er alt andet end det. Historier om gæld til rockere, farlige forbindelser og kidnapning dukker op midt i Camillas stormende forelskelse. Og inden for ganske kort tid ser hun sig selv tømme sin konto, børneopsparing og optage lån for at hjælpe den fyr, hun har forelsket sig i. Der er bare et problem: Meget af det, Benjamin fortæller er opdigtet. Det finder Camilla dog først ud af alt for sent." + "plot": "Camilla troede, hun forelskede sig i den perfekte fyr. Men det viser sig, at han er alt andet end det. Historier om gæld til rockere, farlige forbindelser og kidnapning dukker op midt i Camillas stormende forelskelse. Og inden for ganske kort tid ser hun " }, "properties": {}, "contextmenu": [ diff --git a/tests/userdata/requests.cache.sqlite b/tests/userdata/requests.cache.sqlite index c5695aa5f73b8f65e076540f554caeb3cebf75a9..c6c23f23c91d98d01740ce86c8aa80dc0607c524 100644 GIT binary patch delta 133781 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 E2bxVRJpcdz delta 1090 zcmYMz3v5$W7y#gN&V9ALukBh~3zVHQ87u2!8!}dK?PX>g?y^WCiBqDE1QP|_hL0E@ zVMXM22xKfxJm>-)1VbVwcDD8cVk9w9g9PUiA(Hq&Sy+PjASCmF)_>{Ln|wDpublt? z^Pkk2QzUg}2iZSgL^l!Q#Sxky=;nCuQQfsurD%34uT+RQAEXsZesSP?Qo(C`Fhb-j z{XOl1wnq=)blcH9y8+lE|SE*<2-&6*P?IH0SJ<^nQ^02C}*&J ze~sy!C>WdY+=O|o0a6-w&K)sUsD8L|Ii5lKN&P83tW9Z$v>vTeJ*&RLqB*0s#l=Y< zNY6=);x+M2@e$E4ObUC2cD}@);J5Mh+!UAPdN_leBfCff&)^*1f@{#%=rt(wAZ914 zX{Ym!myU9o4`XK9Uo^mNzzgPq+d&oZ0Y8`z7J!8y02Vp^V)gU`gRT+OgoZKSFTXC| zCo7(hxec5~KEXFgio{)A5ans!7Ge;chPyR?Ab%LW$GNp`KzYGYsc z=sMOoz6#EN$->pNLqz5NO8v&0EZb*wvPi$RH`5;NV6XaUxAUl%=cRdxhKK@2p2M$iP7gFC?r&K?5EY9~P^G31PQzH~$x32NYiov@=};jKR)N*vF3<`RPNEt4P*qm|