diff --git a/README.md b/README.md
index d49da4a..29f01d3 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,11 @@
Kodi-Addon-ARDundZDF
===================
-Addon für Kodi / XBMC (Kodi-Version von [Plex-Plugin ARDundZDF](https://github.com/rols1/ARDundZDF)).
+Addon für Kodi / XBMC (Kodi-Version von Plex-Plugin ARDundZDF).
Ab Version 2.2.5 für Kodi-Krypton, -Leia, -Matrix und -Nexus geeignet (Python2- / Python3-kompatibel).
Mit Inhalten der Mediatheken von ARD und ZDF, 3Sat, funk, phoenix, KIKA und ZDFtivi, tageschau.de, Arte-Kategorien,
einschließlich Live-TV mit Aufnahmefunktion (ffmpeg erforderlich), Live-Radio, Podcasts.
-Für die ZDF Mediathek kann wahlweise die kompakte Version ZDFmobile genutzt werden.
-
Download aktuelle Version: https://github.com/rols1/Kodi-Addon-ARDundZDF/releases/latest
![Downloads](https://img.shields.io/github/downloads/rols1/Kodi-Addon-ARDundZDF/total.svg "Downloads")
(Kodi Matrix) oder [kodinerds-Repo](https://repo.kodinerds.net) (Kodi-Krypton, -Leia, -Matrix und -Nexus) - siehe INSTALLATION.
@@ -64,7 +62,7 @@ Funktionen:
- Rubriken
- Bildgalerien 3sat
-#### ARD-Audiothek Neu (Stand 25.02.2022) mit Podcast-Favoriten:
+#### ARD-Audiothek:
- Suche
- Livestreams, einschl. ARD Audio Event Streams, Audio- und Netcastaudio-Streams der sportschau.de
- Entdecken (wie Webseite)
@@ -88,8 +86,8 @@ Funktionen:
#### Downloadoption (ab Version 2.6.8 ohne cURL/wget)
- Download von Videos im ARD-Bereich
- Download von Videos im ZDF-Bereich
-- Download von Videos in den Modulen 3Sat, TagesschauXL, phoenix (einschl. Youtube-Videos), funk, Kinderprogramme
-- Download von Podcasts - bei Podcast-Favoriten zusätzlich Sammeldownloads (aktuelle Liste der Beiträge)
+- Download von Videos in den Modulen arte, 3Sat, TagesschauXL, phoenix, Kinderprogramme
+- Download von Podcasts - bei Podcast-Favoriten zusätzlich Sammeldownloads (angezeigte Liste der Beiträge)
#### Addon-Tools
- Addon-Infos mit Angaben zum System, Cache, zu Dateipfaden und Modulen
@@ -116,7 +114,7 @@ Funktionen:
#### weitere Module (optional)
- ~~ZDFmobile~~ - entfernt ab Juni 2023 (obsolet)
- 3Sat
-- ~~funk~~ - deaktiviert ab Mai 2023, Inhalte in der ZDF-Mediathek verfügbar
+- ~~funk~~ - entfernt ab Mai 2023 (Videos in ZDF-funk, Podcasts in der ARD-Audiothek verfügbar)
- Kinderprogramme (z.Z. KIKA und ZDFtivi)
- TagesschauXL
- phoenix (https://www.phoenix.de/)
diff --git a/addon.xml b/addon.xml
index 638a581..f98012c 100644
--- a/addon.xml
+++ b/addon.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/ardundzdf.py b/ardundzdf.py
index 59b2678..f71a702 100644
--- a/ardundzdf.py
+++ b/ardundzdf.py
@@ -56,8 +56,8 @@
# VERSION -> addon.xml aktualisieren
# 108 # Numerierung für Einzelupdate
-VERSION = '4.7.3'
-VDATE = '27.05.2023'
+VERSION = '4.7.4'
+VDATE = '28.05.2023'
# (c) 2019 by Roland Scholz, rols1@gmx.de
@@ -92,7 +92,6 @@
ICON_MAIN_ARD = 'ard-mediathek.png'
ICON_MAIN_ZDF = 'zdf-mediathek.png'
-ICON_MAIN_ZDFMOBILE = 'zdf-mobile.png'
ICON_MAIN_TVLIVE = 'tv-livestreams.png'
ICON_MAIN_RADIOLIVE = 'radio-livestreams.png'
ICON_MAIN_UPDATER = 'plugin-update.png'
@@ -412,19 +411,11 @@ def Main():
addDir(li=li, label=title, action="dirList", dirID="resources.lib.ARDnew.Main_NEW", fanart=R(FANART),
thumb=R(ICON_MAIN_ARD), tagline=tagline, fparams=fparams)
- if SETTINGS.getSetting('pref_use_zdfmobile') == 'true':
- PLog('zdfmobile_set: ')
- tagline = 'Info: [B]ZDFmobile entfällt ab Juni 2023[/B]'
- summ = ""
- fparams="&fparams={}"
- addDir(li=li, label="ZDFmobile", action="dirList", dirID="resources.lib.zdfmobile.Main_ZDFmobile",
- fanart=R(FANART), thumb=R(ICON_MAIN_ZDFMOBILE), tagline=tagline, summary=summ, fparams=fparams)
- else:
- tagline = 'Info: [B]ZDFmobile entfällt ab Juni 2023[/B]'
- summ = ""
- fparams="&fparams={'name': 'ZDF Mediathek'}"
- addDir(li=li, label="ZDF Mediathek", action="dirList", dirID="Main_ZDF", fanart=R(FANART),
- thumb=R(ICON_MAIN_ZDF), tagline=tagline, summary=summ, fparams=fparams)
+ tagline = u"einschließlich ZDF-funk"
+ summ = "funk-Podcasts befinden sich in der Audiothek"
+ fparams="&fparams={'name': 'ZDF Mediathek'}"
+ addDir(li=li, label="ZDF Mediathek", action="dirList", dirID="Main_ZDF", fanart=R(FANART),
+ thumb=R(ICON_MAIN_ZDF), tagline=tagline, summary=summ, fparams=fparams)
if SETTINGS.getSetting('pref_use_3sat') == 'true':
tagline = 'in den Settings kann das Modul 3Sat ein- und ausgeschaltet werden'
@@ -432,14 +423,16 @@ def Main():
addDir(li=li, label="3Sat Mediathek", action="dirList", dirID="resources.lib.my3Sat.Main_3Sat",
fanart=R('3sat.png'), thumb=R('3sat.png'), tagline=tagline, fparams=fparams)
- ''' 26.04.2023 api V4.0 funktioniert nicht mehr - vorerst abgeschaltet
+ ''' 26.04.2023 api V4.0 funktioniert nicht mehr - vorerst abgeschaltet
+ 27.05.2023 endgültig - nach wie vor: HTTP Error 410: Gone
if SETTINGS.getSetting('pref_use_funk') == 'true':
tag = 'in den Settings kann das Modul FUNK ein- und ausgeschaltet werden'
tag = u"%s\n\ndie Beiträge sind auch in der ZDF Mediathek enthalten (Menü ZDF-funk)" % tag
fparams="&fparams={}" # funk-Modul
addDir(li=li, label="FUNK", action="dirList", dirID="resources.lib.funk.Main_funk",
fanart=R('funk.png'), thumb=R('funk.png'), tagline=tag, fparams=fparams)
- '''
+ '''
+
if SETTINGS.getSetting('pref_use_childprg') == 'true':
tagline = 'in den Settings kann das Modul Kinderprogramme ein- und ausgeschaltet werden'
summ = u"KiKA, ZDFtivi, MausLive u.a."
@@ -1041,7 +1034,7 @@ def Main_ZDFfunk(title):
addDir(li=li, label="ZDF-funk-A-Z", action="dirList", dirID="ZDF_AZ", fanart=R('zdf-funk-AZ.png'),
thumb=R('zdf-funk-AZ.png'), fparams=fparams)
- ''' # 27.04.2023 deaktiviert, api V4.0 nicht mehr verfügbar
+ ''' # 27.05.2023 entfernt, api V4.0 nicht mehr verfügbar
fparams="&fparams={}" # Button funk-Modul hinzufügen
addDir(li=li, label="zum FUNK-Modul", action="dirList", dirID="resources.lib.funk.Main_funk",
fanart=R('zdf-funk.png'), thumb=R('funk.png'), fparams=fparams)
@@ -1093,9 +1086,10 @@ def AudioStart(title):
# Button für funk anhängen # funk
title = 'funk: Das Content-Netzwerk von ARD und ZDF' # Watchdog: ../organizations
+ tagline = "Podcasts des Senders funk"
fparams="&fparams={'org': '%s'}" % title
addDir(li=li, label=title, action="dirList", dirID="AudioSenderPrograms", fanart=R(ICON_MAIN_AUDIO),
- thumb=R('funk.png'), fparams=fparams)
+ thumb=R('funk.png'), tagline=tagline, fparams=fparams)
# Button für Podcast-Favoriten anhängen # Podcast-Favoriten
title="Podcast-Favoriten";
@@ -5219,10 +5213,10 @@ def ShowFavs(mode, selected=""): # Favoriten / Merkliste einblenden
my_items, my_ordner= ReadFavourites(mode) # Addon-Favs / Merkliste einlesen
PLog(len(my_items))
# Dir-Items für diese Funktionen erhalten mediatype=video:
- # 05.12.2020 zdfmobile.ShowVideo entfernt (enthält auch Mehrfachbeiträge)
# 13.11.2021 ARDStartSingle hinzugefügt
+ # 27.05.2023 zdfmobile-Verweise entfernt
CallFunctions = ["PlayVideo", "ZDF_getVideoSources",
- "zdfmobile.PlayVideo", "SingleSendung", "ARDStartVideoStreams",
+ "SingleSendung", "ARDStartVideoStreams",
"ARDStartVideoMP4", "ARDStartSingle", "PlayVideo", "my3Sat.SingleBeitrag",
"SenderLiveResolution", "phoenix.get_formitaeten",
"phoenix.SingleBeitrag", "phoenix.yt.yt_get",
@@ -5412,8 +5406,6 @@ def ShowFavs(mode, selected=""): # Favoriten / Merkliste einblenden
Plot=unescape(Plot)
Plot = Plot.replace('||', '\n') # s. PlayVideo
Plot = Plot.replace('+|+', '')
- if Plot.strip().startswith('stage|'): # zdfMobile: nichtssagenden json-Pfad löschen
- Plot = 'Beitrag aus zdfMobile'
PLog('summary: ' + summary); PLog('tagline: ' + tagline); PLog('Plot: ' + Plot)
if SETTINGS.getSetting('pref_FavsInfo') == 'false': # keine Begleitinfos
diff --git a/changelog.txt b/changelog.txt
index 36d61ca..ff88337 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -10,6 +10,21 @@ CHANGE HISTORY
max_col 97
--------------
+28.05.2023 4.7.4
+ Audio_get_homescreen (Audiothek): personalisierte Inhalte ausgeblendet
+ ("..für dich" in title).
+ get_summary_pre (util): descr: Linefeed ersetzt durch "|" + Endbehandl.
+ mit valid_title_chars.
+ Get_content (Haupt-PRG + arte): Endbehandl. summ mit valid_title_chars.
+ valid_title_chars (util): aktualisiert, Berücksichtigung github-pull-request
+ #28 (Semikolon-Problem mit PY2 in Funktion router).
+ SingleVideo (arte): Dialog-Zusatz "Mehr Streamauswahl ohne Sofortstart" bei
+ leeren Streamlisten, Anpassung arte_lang.json.
+ Anzeige laufender Downloads (Haupt-PRG): Leichencheck für Lockdatei DL_CHECK.
+ Module funk, zdfMobile: entfernt wie angekündigt, Bereinigung settings.xml +
+ Icons. Hauptmenü angepasst, Verweise in ShowFavs entfernt, Anpassung in
+ Watchdog_Plex-2, README + Wicki aktualisiert.
+
21.05.2023 4.7.3
ZDF_PageMenu: Link zu KiKANiNCHEN realisiert (Typ "externalUrl" im
Menü Kinderprogramme -> ZDFtivi -> ZDFchen).
diff --git a/resources/lib/arte.py b/resources/lib/arte.py
index 2fadc5b..120a8c3 100644
--- a/resources/lib/arte.py
+++ b/resources/lib/arte.py
@@ -8,7 +8,7 @@
#
################################################################################
# 32 # Numerierung für Einzelupdate
-# Stand: 25.05.2023
+# Stand: 26.05.2023
# Python3-Kompatibilität:
from __future__ import absolute_import # sucht erst top-level statt im akt. Verz.
@@ -533,6 +533,8 @@ def GetContent(li, page, ID):
title = transl_json(title); title = unescape(title);
title = repl_json_chars(title); # franz. Akzent mögl.
summ = repl_json_chars(summ) # -"-
+ summ = valid_title_chars(summ) # s. changelog V4.7.4
+
tag_par = tag.replace('\n', '||') # || Code für LF (\n scheitert in router)
summ_par = summ.replace('\n', '||') # || Code für LF (\n scheitert in router)
diff --git a/resources/lib/util.py b/resources/lib/util.py
index 6a15a23..34b09a6 100644
--- a/resources/lib/util.py
+++ b/resources/lib/util.py
@@ -1489,7 +1489,7 @@ def repl_json_chars(line):
# S. docs.python.org/3/library/string.html
#
def valid_title_chars(line):
- PLog("valid_title_chars:")
+ #PLog("valid_title_chars:")
printable = string.printable
# cut ab &: &\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c
@@ -2393,7 +2393,7 @@ def get_summary_pre(path,ID='ZDF',skip_verf=False,skip_pubDate=False,page='',pat
if len(addpost) > 0:
summ = summ + " | " + " | ".join(addpost)
summ = mystrip(summ)
- summ = valid_title_chars(summ)
+ summ = valid_title_chars(summ) # s. changelog V4.7.4
if skip_verf == False:
if u'erfügbar bis' in page: # enth. Uhrzeit
@@ -2438,6 +2438,7 @@ def get_summary_pre(path,ID='ZDF',skip_verf=False,skip_pubDate=False,page='',pat
summ = stringextract('synopsis":"', '","', page)
summ = repl_json_chars(summ)
+ summ = valid_title_chars(summ) # s. changelog V4.7.4
if skip_verf == False:
verf = stringextract('availableTo":"', '","', page)
@@ -2450,7 +2451,7 @@ def get_summary_pre(path,ID='ZDF',skip_verf=False,skip_pubDate=False,page='',pat
pubDate = time_translate(pubDate)
pubDate = u" | Sendedatum: [COLOR blue]%s Uhr[/COLOR]\n\n" % pubDate
if u'erfügbar bis' in summ:
- summ = summ.replace('\n\n', pubDate) # zwischen Verfügbar + summ einsetzen
+ summ = summ.replace('\n\n', pubDate) # zwischen Verfügbar + summ einsetzen
else:
summ = "%s%s" % (pubDate[3:], summ)
diff --git a/resources/settings.xml b/resources/settings.xml
index 04477e4..2ae1563 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -5,9 +5,7 @@
-
-
@@ -111,9 +109,6 @@
-
-