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 Sep 6, 2020
1 parent 3e26da8 commit 8f2bbbd
Show file tree
Hide file tree
Showing 8 changed files with 380 additions and 183 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.3.3" provider-name="rols1 (rols1@gmx.de)">
<addon id="plugin.video.ardundzdf" name="ARDundZDF" version="3.3.4" provider-name="rols1 (rols1@gmx.de)">
<requires>
<import addon="xbmc.python" version="2.25.0"/>
<import addon="script.module.kodi-six" />
Expand Down
492 changes: 325 additions & 167 deletions ardundzdf.py

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,31 @@ CHANGE HISTORY
max_col 97
--------------

06.09.2020 3.3.4
Kategorien (Modul arte): "Meistgesehene Videos" abgeschnitten (folgen
z.Z. hinter den Kategorien).
check_Setting (Modul util): unicode-String für Dialogtexte mit Umlaut
(hier ffmpeg-Check).
get_page3sat (Modul 3sat): page.decode -> str(page) - decode scheitert
in PY3 bei Sonderz. in json-Daten (Bsp. 37°).
SearchARDundZDF, Search (ARD Classic), SearchARDundZDFnew, Search (3sat),
Sendereihe_Sendungen (3sat), arte_Search: Aufruf get_page mit do_safe=False
(Unterdrückung zusätzl. Pfad-Quotierung).
Kika_Search: Fix query_org für Abgleich (Zeichen '+' hier falsch).
get_page (Modul util): leere Rückgabe bei PDF-Seiten.
ZDF_Sendungen: Abzweig zu ZDFRubrikSingle bei Cluster-Titeln (alle A-Z-
Seiten) - eindeutigere Diffenzierung der Cluster/Staffeln/Serien.
ZDFRubrikSingle, get_teaserElement: Anpassung an Auswertung Cluster-Titel.
ZDF_get_teaserDetails, ZDF_get_teaserbox, ZDF_get_img: neue Funktionen für
Cluster-Auswertung (Loader-Beiträge + Normal-Seiten).
ZDF_MEHR_Suche zur mehrf. Verwendung ausgelagert in ZDF_search_button.
BarriereArmSingle: Home-Button entfernt bei 2. Aufruf (erl. in
ZDFRubrikSingle).
ZDFStart + ZDFRubrikSingle: promo-teaser (abweichend zu Cluster-Titeln)
ergänzt.
Startseite ZDF: script-generierte leere Inhalte übersprungen (Letzte Chance,
Empfehlungen für Sie, Das könnte Dich interessieren, weiterschauen).

30.08.2020 3.3.3 Einstellung m3u8-Aufnahmeverfahren
Setting "experimentell: Aufnehmen/Recording ohne ffmpeg" entfernt.
Anpassungen: SenderLiveListePre, ProgramRecord, LiveRecord (Modul util).
Expand Down
4 changes: 2 additions & 2 deletions resources/lib/ARDnew.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# 21.11.2019 Migration Python3 Modul kodi_six + manuelle Anpassungen
#
################################################################################
# Stand 27.06.2020
# Stand 02.09.2020

# Python3-Kompatibilität:
from __future__ import absolute_import # sucht erst top-level statt im akt. Verz.
Expand Down Expand Up @@ -1190,7 +1190,7 @@ def SearchARDundZDFnew(title, query='', pagenr=''):
if pagenr == '': # erster Aufruf muss '' sein
pagenr = 1
path_zdf = ZDF_Search_PATH % (quote(query_zdf), pagenr)
page, msg = get_page(path=path_zdf)
page, msg = get_page(path=path_zdf, do_safe=False)
searchResult = stringextract('data-loadmore-result-count="', '"', page) # Anzahl Ergebnisse
PLog(searchResult);
query_lable = (query_zdf.replace('%252B', ' ').replace('+', ' ')) # quotiertes ersetzen
Expand Down
16 changes: 10 additions & 6 deletions resources/lib/arte.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# Auswertung via Strings statt json (Performance)
#
################################################################################
# Stand: 13.08.2020
# Stand: 02.09.2020

# Python3-Kompatibilität:
from __future__ import absolute_import # sucht erst top-level statt im akt. Verz.
Expand Down Expand Up @@ -190,6 +190,7 @@ def arte_Search(query='', nextpage=''):
if query == '':
query = ardundzdf.get_query(channel='phoenix') # unbehandelt
PLog(query)
query = py2_decode(query)
if query == None or query == '':
return ""

Expand All @@ -200,7 +201,7 @@ def arte_Search(query='', nextpage=''):
path = 'https://www.arte.tv/guide/api/emac/v3/de/web/data/SEARCH_LISTING/?imageFormats=landscape&mainZonePage=1&query=%s&page=%s&limit=20' %\
(quote(query), nextpage)

page, msg = get_page(path=path)
page, msg = get_page(path=path, do_safe=False) # ohne quote in get_page (api-Call)
if page == '':
msg1 = 'Fehler in Suche: %s' % query
msg2 = msg
Expand Down Expand Up @@ -331,7 +332,7 @@ def GetContent(li, page, ID):
if mehrfach:
if ID == 'KAT_START': # mit Url + id zurück zu -> Kategorien
pid = stringextract('id":"', '"', item) # programId hier null
cat = stringextract('label":"%s"' % title, '}]}', page) # Kategorie-Liste ausschneiden
cat = stringextract('label":"%s"' % title, '}]}', page) # Sub-Kategorien-Liste ausschneiden
tag = stringextract('description":"', '"', cat)

fparams="&fparams={'title':'%s'}" % (quote(title))
Expand Down Expand Up @@ -530,9 +531,12 @@ def Kategorien(title=''):

if title == '': # 1. Stufe: Kategorien listen
PLog('Stufe1:')
pos = page.find(':"Alle Kategorien"')
PLog(pos)
page = page[pos:]
pos1 = page.find(':"Alle Kategorien"') # ausschneiden
pos2 = page.find('"Meistgesehene Videos"', pos1+1)
PLog("pos1: %d, pos2: %d" % (pos1, pos2))
if pos2 == -1: # Fallback ("Meistgesehene Videos" nicht sicher)
pos2 = len(page)
page = page[pos1:pos2]
PLog(page[:100])

# Kategorien listen
Expand Down
6 changes: 4 additions & 2 deletions resources/lib/childs.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# 17.11.2019 Migration Python3 Modul kodi_six + manuelle Anpassungen
################################################################################
#
# Stand: 30.08.2020
# Stand: 02.09.2020

# Python3-Kompatibilität:
from __future__ import absolute_import # sucht erst top-level statt im akt. Verz.
Expand Down Expand Up @@ -214,6 +214,8 @@ def Kika_Search(query=None, title='Search', pagenr=''):
if query == '':
query = ardundzdf.get_query(channel='ARD')
PLog(query)
query_org = unquote(query)
query_org = query_org.replace('+', ' ') # für Vergleich entfernen
if query == None or query.strip() == '':
return ""

Expand All @@ -239,7 +241,7 @@ def Kika_Search(query=None, title='Search', pagenr=''):
for s in pageItems:
stitle = stringextract('class="linkAll" title="', '"', s)
stitle = cleanhtml(stitle); stitle = unescape(stitle);
if up_low(query) in up_low(stitle):
if up_low(query_org) in up_low(stitle):
href = BASE_KIKA + stringextract('href="', '\"', s)
if href in found_hrefs: # Doppler vermeiden
continue
Expand Down
10 changes: 6 additions & 4 deletions resources/lib/my3Sat.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# 18.11.2019 Migration Python3 Modul kodi_six + manuelle Anpassungen
#
################################################################################
# Stand: 26.08.2020
# Stand: 02.09.2020

# Python3-Kompatibilität:
from __future__ import absolute_import # sucht erst top-level statt im akt. Verz.
Expand Down Expand Up @@ -172,14 +172,15 @@ def Search(first, path, query=''):
return ""

PLog(query)
query = py2_decode(query)

name = 'Suchergebnis zu: ' + unquote(query)

if first == 'True': # query nur beim 1. Aufruf injizieren, nicht bei 'mehr'
path = DreiSat_Suche % quote(py2_encode(query))
path = path + "&page=1"
PLog(path); # Bsp. https://www.3sat.de/suche?q=brexit&synth=true&attrs=&page=2
page, msg = get_page(path=path)
page, msg = get_page(path=path, do_safe=False) # ohne quote in get_page, dto. in Sendereihe_Sendungen
if page == '':
msg1 = "Fehler in Search"
msg2 = msg
Expand Down Expand Up @@ -788,7 +789,7 @@ def Sendereihe_Sendungen(li, path, title, img='', page=''): # Liste der Einzels
li = home(li, ID='3Sat') # Home-Button

if page == '': # Seitenausschnitt vom Aufrufer?
page, msg = get_page(path=path)
page, msg = get_page(path=path, do_safe=False)

# 1. Strukturen am Seitenanfang (1 Video doppelt möglich):
if 'video-carousel-item' in page: # Bsp. www.3sat.de/kultur/kulturzeit
Expand Down Expand Up @@ -1614,7 +1615,8 @@ def get_page3sat(path, apiToken):
PLog(msg)
PLog(len(page))

page = page.decode('utf-8')
#page = page.decode('utf-8') # scheitert in PY3 bei Sonderz. in json-Daten (Bsp. 37°)
page = str(page)
return page, msg


8 changes: 7 additions & 1 deletion resources/lib/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -848,6 +848,7 @@ def addDir(li, label, action, dirID, fanart, thumb, fparams, summary='', tagline
# transl_umlaute(path) entfällt damit
# 14.08.2020 do_safe-Param. triggert path-Quotierung, muss hier für Audiothek-Rubriken
# entfallen
# 02.09.2020 Rückgabe page='' bei PDF-Seiten
#
def get_page(path, header='', cTimeout=None, JsonPage=False, GetOnlyRedirect=False, do_safe=True):
PLog('get_page:'); PLog("path: " + path); PLog("JsonPage: " + str(JsonPage));
Expand Down Expand Up @@ -909,6 +910,11 @@ def get_page(path, header='', cTimeout=None, JsonPage=False, GetOnlyRedirect=Fal
page = f.read()
PLog(len(page))
r.close()
if page.startswith('%PDF-'): # Bsp. Rezepte (Die Küchenschlacht)
msg1 = "PDF-Format nicht darstellbar"
msg2 = 'Inhalt verworfen'
msg = "%s,\n%s" % (msg1, msg2)
return '', msg
PLog(page[:100])
msg = new_url
except URLError as exception:
Expand Down Expand Up @@ -2238,7 +2244,7 @@ def check_Setting(ID):

if os.path.exists(cmd.split()[0]) == False:
msg1 = 'Pfad zu ffmpeg nicht gefunden.'
msg2 = 'Bitte ffmpeg-Parameter in den Einstellungen prüfen, aktuell:'
msg2 = u'Bitte ffmpeg-Parameter in den Einstellungen prüfen, aktuell:'
msg3 = SETTINGS.getSetting('pref_LiveRecord_ffmpegCall')
MyDialog(msg1, msg2, msg3)
return False
Expand Down

0 comments on commit 8f2bbbd

Please sign in to comment.