YggdrasiI / plugin.video.simple_mediathek_de

GNU General Public License v3.0
4 stars 0 forks source link

Integration von Abfragen an MediathekViewWeb.de (MVW) #8

Open YggdrasiI opened 7 years ago

YggdrasiI commented 7 years ago

Bagbag hatte vor einigen Monaten darauf hingewiesen/offeriert die Schnittstelle von seiner Seite für Abfragen zu verwenden. :) Nun bin ich dazu gekommen das auszuprobieren und kann mich endlich dazu äußern ob etwas an gewünschten Features fehlt. (In Bezug auf die öffentlich erkennbare Api und nicht die schon erwähnte Neue.)

Auf der Client-Seite habe ich das Paket socketIO_client gewählt, um analog zu den Angaben auf der MVW-Seite die Queries zusammen zu stellen. Die Kernzeilen sind relativ kurz, siehe mediathekviewweb.py,

queryObj = {u"queries": queries,
                u"sortBy": sortProps[0],  # i.e. 'timestamp'
                u"sortOrder": sortProps[1],  # 'desc', 'asc'
                u"future": True,
                u"offset": page*entries_per_page,
                u"size": entries_per_page}
with SocketIO(u"https://mediathekviewweb.de", 443, verify=True) as socketIO:
    film_namespace = socketIO.define(FilmNamespace)
    socketIO.emit(u"queryEntries", queryObj, film_namespace.on_film_response)

@Bagbag:

Folgende Dinge wären für mich hilfreich:

  1. Abfrage Sendern-Namen-Liste. Derzeit greife ich auf eine fest vorgegebene, oder die Resultate meines nativen Parsers der Filmliste, zurück.

  2. Suche nach Bereichen von Datum, Filmlänge und Startzeitpunkt. In Anlehnung an die bisherige Struktur z.B.

    {"fields": ["date"], "query": ["min": CtimeMin, "max": CtimeMax]}
    {"fields": ["duration"], "query": ["min": SecMax, "max": SecMax]}
    {"fields": ["begin"], "query": ["min": UhrzeitMax, "max": UhrzeitMax]}
  3. Die Werte bei 2. reichen schon aus, um alle Livestreams in den Daten zu finden („Livestream“ + Startdatum <=2h + Dauer 0), aber evtl. wäre das als eigenständiges Auswahlkriterium auch eine Idee. Sucht man nur nach dem Schlüsselwort sind viele unerwünschte Resultate enthalten.

bagbag commented 7 years ago

Hi,

eine Abfrage der Senderliste gibt es bereits: .../api/channels.

Eine Erweiterung der Query wird dann erst mit MVW 2.0 kommen, was es bereits gibt, kannst du hier sehen: definition.ts, außerdem werde ich noch eine "Query-String" Funktion einbauen, sodass man dann mit dem String, den man in MVW eingeben würde (bei MVW 2.0 dann wesentlich mehr möglich) abfragen machen kann.

Livestreams möchte ich dann auch irgendwie gesondert einbauen.

YggdrasiI commented 7 years ago

Vielen Dank, das sind die Informationen nach denen ich gesucht habe.