Skip to content

Commit

Permalink
Änderungen / Korrekturen siehe changelog.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
rols1 committed Aug 3, 2020
1 parent d95a237 commit ab971ec
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 23 deletions.
2 changes: 1 addition & 1 deletion addon.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.ardundzdf" name="ARDundZDF" version="3.2.3" provider-name="rols1 (rols1@gmx.de)">
<addon id="plugin.video.ardundzdf" name="ARDundZDF" version="3.2.4" provider-name="rols1 (rols1@gmx.de)">
<requires>
<import addon="xbmc.python" version="2.25.0"/>
<import addon="script.module.kodi-six" />
Expand Down
41 changes: 29 additions & 12 deletions ardundzdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@
ICON_ZDF_RUBRIKEN = 'zdf-rubriken.png'
ICON_ZDF_MEIST = 'zdf-meist-gesehen.png'
ICON_ZDF_BARRIEREARM = 'zdf-barrierearm.png'
ICON_ZDF_UNTERTITEL = 'zdf-untertitel.png'
ICON_ZDF_BILDERSERIEN = 'zdf-bilderserien.png'

ICON_MAIN_POD = 'radio-podcasts.png'
Expand Down Expand Up @@ -277,6 +276,12 @@
if SETTINGS.getSetting('pref_epgRecord') == 'true':
epgRecord.JobMain(action='init') # EPG_Record starten

# todo: Test Module
skindir = xbmc.getSkinDir()
PLog("skindir: %s" % skindir)
if 'confluence' in skindir: # zeigt Plot-Infos in Medienansicht
xbmcplugin.setContent(HANDLE, 'movies')

ARDSender = ['ARD-Alle:ard::ard-mediathek.png:ARD-Alle'] # Rest in ARD_NEW

#----------------------------------------------------------------
Expand Down Expand Up @@ -321,7 +326,8 @@ def Main():
else:
title = "ARD Mediathek Neu"
tagline = 'in den Settings sind ARD Mediathek Neu und ARD Mediathek Classic austauschbar'
summ = u"das Menü BarriereArm ist zur Zeit nur in der Classic-Version verfügbar"
summ = u'Die barrierefreien Angebote befinden sich im Menü Start in "Mehr zum Thema | Rubriken".'
summ = summ + u'\nDas Menü "BarriereArm" ist zur Zeit nur in der Classic-Version verfügbar.'
fparams="&fparams={'name': '%s', 'CurSender': '%s'}" % (title, '')
PLog(fparams)
addDir(li=li, label=title, action="dirList", dirID="resources.lib.ARDnew.Main_NEW", fanart=R(FANART),
Expand Down Expand Up @@ -6916,6 +6922,7 @@ def ZDF_Sendungen(url, title, ID, page_cnt=0, tagline='', thumb=''):
xbmcplugin.endOfDirectory(HANDLE, cacheToDisc=False)

# if offset: Code entfernt, in Kodi nicht nutzbar
title = title.replace(u"Das ZDF ist für den verlinkten Inhalt nicht verantwortlich!", '')
label = u"Alle Beiträge im ZDF zu >%s< suchen" % title
query = title.replace(' ', '+')
tagline = u"zusätzliche Suche starten"
Expand Down Expand Up @@ -7320,7 +7327,7 @@ def MeistGesehen(name): # ZDF-Bereich, Beiträge unbegrenzt

####################################################################################################
# ZDF Barrierefreie Angebote - Vorauswahl
# ARD s. BarriereArmARD (Classic)
# ARD siehe BarriereArmARD (Classic)
# 06.04.2020 aktualisiert: Webseite geändert, nur kleine Übersicht, die 3
# Folgeseiten enthalten jeweils die neuestens Videos
#
Expand Down Expand Up @@ -7908,7 +7915,8 @@ def ZDF_get_content(li, page, ref_path, ID=None, sfilter='Alle ZDF-Sender'):
if descr:
summary = descr
if teaser_nr:
summary = "Episode %s | %s" % (teaser_nr, summary )
summary = "Episode %s | %s" % (teaser_nr, summary)
title = "[%2s] %s" % (teaser_nr, title)
else:
summary = href_title

Expand Down Expand Up @@ -8022,7 +8030,7 @@ def ZDF_getVideoSources(url,title,thumb,tagline,Merk='false',apiToken='',sid='')
apiToken1 = stringextract('apiToken: \'', '\'', page)
apiToken2 = stringextract('"apiToken": "', '"', page)
sid = stringextract("docId: \'", "\'", page) # Bereich window.zdfsite
PLog('apiToken1: %s, apiToken2: %s, sid: %s' % (apiToken1, apiToken2, sid))
PLog('apiToken1: %s, apiToken2: %s, sid: %s' % (apiToken1[:80], apiToken2[:80], sid))

# -- Ende Vorauswertungen

Expand Down Expand Up @@ -8173,7 +8181,7 @@ def get_formitaeten(sid, apiToken1, apiToken2, ID=''):
PLog(apiToken1)
PLog('sid/docId: ' + sid)
PLog('Client: '); PLog(OS_DETECT); # s. Startbereich
PLog(apiToken1); PLog(apiToken2);
PLog(apiToken1[:80]); PLog(apiToken2[:80]);

# bei Änderung profile_url neu ermitteln - ZDF: zdfplayer-Bereich, NEO: data-sophoraid
profile_url = 'https://api.zdf.de/content/documents/%s.json?profile=player' % sid
Expand Down Expand Up @@ -8205,6 +8213,7 @@ def get_formitaeten(sid, apiToken1, apiToken2, ID=''):
PLog('profile_url: Laden fehlgeschlagen')
return '', '', '', ''
PLog("page_json: " + page[:40])
# RSave('/tmp/x.json', py2_encode(page)) # Debug
# Videodaten ermitteln:
pos = page.rfind('mainVideoContent') # 'mainVideoContent' am Ende suchen
page_part = page[pos:]
Expand All @@ -8213,21 +8222,29 @@ def get_formitaeten(sid, apiToken1, apiToken2, ID=''):
# neu ab 19.04.2018: Videos ab heute auch ohne uurl-Pfad möglich, Code einschl. Abbruch entfernt - s.a. KIKA_und_tivi.
# 18.10.2018: Code für old_videodat_url entfernt (../streams/ptmd":).
# 23.11.2019: extract videodat_url ohne Blank hinter separator : (s. json.loads in get_page)

ptmd_player = 'ngplayer_2_3'
videodat_url = stringextract('ptmd-template":"', '",', page_part) # "mainVideoContent":{"http://
videodat_url = videodat_url.replace('{playerId}', ptmd_player) # ptmd_player injiziert
# 02.08.2020: extract DGS-Url (Gebärdensprache) abhängig vom Setting

ptmd_player = 'ngplayer_2_3'
videodat_url = ''
if SETTINGS.getSetting('pref_DGS_ON') == 'true': # Link Gebärdensprache?
dgs_part = stringextract('label":"DGS"', '}}', page_part)
PLog("dgs_part: " + dgs_part)
videodat_url = stringextract('ptmd-template":"', '"', dgs_part)
if videodat_url == '':
videodat_url = stringextract(u'ptmd-template":"', '",', page_part) # "mainVideoContent":{"http://
# videodat_url = 'https://api.zdf.de/tmd/2/portal/vod/ptmd/mediathek/' # unzuverlässig
videodat_url = videodat_url.replace('{playerId}', ptmd_player) # ptmd_player injiziert
videodat_url = 'https://api.zdf.de' + videodat_url
# videodat_url = 'https://api.zdf.de/tmd/2/portal/vod/ptmd/mediathek/' # unzuverlässig
PLog('videodat_url: ' + videodat_url)

# apiToken2 aus ZDF_getVideoSources. header ohne quotes in get_page leer
# kompl. Header für Modul requests, für urllib2.urlopen reichen Api-Auth + Host
#header = "{'Api-Auth': 'Bearer %s','Host': 'api.zdf.de', 'Accept-Encoding': 'gzip, deflate, sdch, br', \
# 'Accept':'application/vnd.de.zdf.v1.0+json'}" % apiToken2
header = "{'Api-Auth': 'Bearer %s','Host': 'api.zdf.de'}" % apiToken2
page, msg = get_page(path=videodat_url, header=header, JsonPage=True)
PLog("request_json: " + page[:40])
# RSave('/tmp/x.json', py2_encode(page)) # Debug

if page == '': # Abbruch - ev. Alternative ngplayer_2_3 versuchen
PLog('videodat_url: Laden fehlgeschlagen')
Expand Down
13 changes: 13 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ CHANGE HISTORY
max_col 97
--------------


03.08.2020 3.2.4
get_formitaeten (ZDF): Link Gebärdensprache extrahiert - abh. von Setting.
settings.xml - Option eingefügt: "Gebärdensprache: Quelle verwenden falls
vorhanden".
settings.xml - Option entfernt: "Untertitel: auf vorhandene Untertitel
hinweisen", Dialog in PlayVideo entfernt.
Def. ICON_ZDF_UNTERTITEL entfernt - obsolet.
Addon-Start: Abfrage auf Skin Confluence und xbmcplugin.setContent-Call für
Infos in Medienansicht.
ZDF_get_content: teaser_nr zusätzl. für Kennz. im Serientitel verwendet.
ZDF_Sendungen: Disclaimer im Titel zur Mehr-Suche entfernt.

01.07.2020 3.2.3
Audio_get_rubriken (Audiothek): Fix für Titel (fehlt im Menü "Unsere Favoriten"
nach Webänderung), neu: Bildtitel als tagline ausgewertet.
Expand Down
1 change: 1 addition & 0 deletions resources/lib/ARDnew.py
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,7 @@ def ARDStartVideoStreams(title, path, summ, tagline, img, geoblock, sub_path='',
return li
PLog(len(page))
page= page.replace('\\u002F', '/') # 23.11.2019: Ersetzung für Pyton3 geändert
# RSave('/tmp/x.html', py2_encode(page)) # Debug

href = ''; VideoUrls = []
Plugins = blockextract('_plugin', page) # wir verwenden nur Plugin1 (s.o.)
Expand Down
14 changes: 5 additions & 9 deletions resources/lib/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -659,7 +659,7 @@ def addDir(li, label, action, dirID, fanart, thumb, fparams, summary='', tagline
Plot = tagline
if summary:
Plot = Plot +"\n\n" + summary

if mediatype == 'video': # "video", "music" setzen: List- statt Dir-Symbol
li.setInfo(type="video", infoLabels={"Title": label, "Plot": Plot, "mediatype": "video"})
isFolder = False # nicht bei direktem Player-Aufruf - OK mit setResolvedUrl
Expand All @@ -668,7 +668,7 @@ def addDir(li, label, action, dirID, fanart, thumb, fparams, summary='', tagline
li.setInfo(type="video", infoLabels={"Title": label, "Plot": Plot})
li.setProperty('IsPlayable', 'false')
isFolder = True

li.setArt({'thumb':thumb, 'icon':thumb, 'fanart':fanart})
if sortlabel:
# kein Unterschied zw. SORT_METHOD_LABEL / SORT_METHOD_LABEL_IGNORE_THE
Expand Down Expand Up @@ -797,7 +797,7 @@ def addDir(li, label, action, dirID, fanart, thumb, fparams, summary='', tagline
% (MY_SCRIPT, HANDLE, fparams_recordLive)))

li.addContextMenuItems(commands)

xbmcplugin.addDirectoryItem(handle=HANDLE,url=add_url,listitem=li,isFolder=isFolder)

PLog('addDir_End')
Expand Down Expand Up @@ -2290,7 +2290,7 @@ def PlayVideo(url, title, thumb, Plot, sub_path=None, Merk='false'):

# Info aus GetZDFVideoSources hierher verlagert - wurde von Kodi nach Videostart
# erneut gezeigt - dto. für ARD (parseLinks_Mp4_Rtmp, ARDStartSingle)
if SETTINGS.getSetting('pref_UT_Info') == 'true' or SETTINGS.getSetting('pref_UT_ON') == 'true':
if SETTINGS.getSetting('pref_UT_ON') == 'true':
if sub_path: # Vorbehandlung ARD-Untertitel
if 'ardmediathek.de' in sub_path: # ARD-Untertitel speichern + Endung -> .sub
local_path = "%s/%s" % (SUBTITLESTORE, sub_path.split('/')[-1])
Expand All @@ -2304,11 +2304,7 @@ def PlayVideo(url, title, thumb, Plot, sub_path=None, Merk='false'):
sub_path = xml2srt(local_path) # Konvert. für Kodi leer bei Fehlschlag

PLog('sub_path: ' + str(sub_path));
if sub_path: # Untertitel aktivieren, falls vorh.
if SETTINGS.getSetting('pref_UT_Info') == 'true':
msg1 = 'Info: für dieses Video stehen Untertitel zur Verfügung.'
MyDialog(msg1, '', '')

if sub_path: # Untertitel aktivieren, falls vorh.
if SETTINGS.getSetting('pref_UT_ON') == 'true':
sub_path = sub_path.split('|')
li.setSubtitles(sub_path)
Expand Down
2 changes: 1 addition & 1 deletion resources/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
<setting label="Inhaltstext zu Video im Voraus laden - kann sehr lange dauern!" type="bool" id="pref_load_summary" default="false"/>
<setting type="sep"/>
<setting label="TV-Live / Videos: Sofortstart statt Auflösungen und Download" type="bool" id="pref_video_direct" default="false"/>
<setting label="Untertitel: auf vorhandene Untertitel hinweisen" type="bool" id="pref_UT_Info" default="false"/>
<setting label="Untertitel: falls vorhanden, im Player einschalten" type="bool" id="pref_UT_ON" default="false"/>
<setting label="Gebärdensprache: Quelle verwenden falls vorhanden" type="bool" id="pref_DGS_ON" default="false"/>
</category>

<category label="Radio-Podcast Einstellungen">
Expand Down

0 comments on commit ab971ec

Please sign in to comment.