Frage zur neuen EPG- Datenbank

  • na ja das crossepg_downloader binary kann die Daten direkt aus dem Transponder Stream kitzeln. Allerdings stopft es die Daten in seine eigene epg datenbank und das Plugin holt die sachen da nur raus und macht eine epg.dat draus.


    Insofern müsste man nur die Daten direkt in eine epg.db schreiben, aber dann kann man eben den code auch gleich ins enigma2 machen. Nur unterliegt der code der GPL womit das DMM nicht ganz so einfach tun kann weil das enigma2 binary closed source ist. Und Neuschreiben ist nicht so einfach, auch wenn man sich natürlich vom derzeitigen Code inspirieren lassen kann.


    Man müsste es also in eine *.so oder eine lib umhämmern wenn man das sauber machen will, ob man die dan mit swig ins python wrapped ist nur mehr Geschmacksache.


    Was ich schon machen könnte wäre das standalone binary umzubiegen das es direkt in unsere epg.db laden würde, dann ist das restliche python nur 5 codezeilen (save, binary in container aufrufen und dann ein load) aber das sind dann nochmals 1-2 tage Arbeit und ich habe denke ich schon genug Tage an die epg.db gespendet, oder ?


    Aber ich kann ja damit drohen :smiling_face_with_sunglasses:

  • Boah, geil!
    Ist das dieses MHW EPG?
    Ich glaube, das gibt's leider nicht für meine französischen Sender. (Ich lebe in Frankreich). :frowning_face:

    2 Mal editiert, zuletzt von Bitnapper ()

  • Das sind die Provider die im Crossepg gut zu finden sind. ich denke da müsste auch was für dich dabei sein ...

  • hatt nichts mit drohen zu tun :winking_face:


    ich kanns halt leider nicht, ansonten hätte ich schon angefangen
    kann nur testen und sonstige sachen tun (übersetzen, dokumentieren, ...)


    (und ich zähle auch keine stunden, tage, ... die ich mit sachen verbringe die ich eigentlich nicht verwende)

  • Ich könnte zwar, aber wie schon gesagt was soll ich noch alles machen :face_with_rolling_eyes:


    Und der xmltv Teil vom Crossepg ist auch nicht besser als das xmltv Plugin - selbe sourcen, selbes Ergebnis.


    Ausserdem kann die EPG Datebnbak vom CrossEPG auch dazu benutzt werden, um wieder xmls fürs xmltv zu generieren, womit sich der Kreis auch so schliesst, nicht alles von den xmltv sourcen wird von websites geparsed.

  • hab ich doch schon anfangs gesagt,
    crossepg-plugin ändern, da hatt man beide sachen xml und opentv


    beim xml-plugin nur das eine


    und die xml werden ja normalerweise von webseiten gegrabed weil es die nicht "over the air" gibt


  • Heißt das, daß man "nur" auf diese Frequenz zappen muß, und der EPG kommt dann vom Himmel? Landet aber leider (noch) nicht in der epg.db, weil's keinen import gibt?


    Und CrossEPG kann das?


    für die UK sender, ja (und da heist das OpenTV, k.a. ob das = MHW ist)

  • Ich sagte aber auch schon am Anfang das es im xmltv Plugin einfacher zu machen ist. das CrossEPG ist eine wüste Mischung aus C code aus verschiedensten Quellen, shellscripts, Python und was man sonst noch alles zusammenstoppel kann.


    Könnte fast von mir sein :grinning_squinting_face:


    Wenn man schnellen Erfolg haben will sucht man sich den einfachsten Fall aus, dann geht auch das Komplizierteste ... ich habe da mehr Erfahrung damit als die Meisten und verdiene eigentlich sogar mein Geld damit.


    Du musst dir allerdings klar sein welche Leute/teams hinter diesen Plugins stecken - und dann kannst du einschätzen wie motiviert die sind das anzupassen.


    Ich habe da allerdings keinen Genierer ... aber auch offene Rechnungen mit manchen davon ... was ab und an ganz hilfreich ist ... um mich zu motivieren etwas zu tun.


    Und ja das crossepg_dowmnloader binary geht auf den transponder aus der provider config die man ihm übergibt und extrahiert die Daten aus dem Datenstrom.

    Einmal editiert, zuletzt von Lost in Translation ()

  • da kannst du ja nicht erwarten das jemand wie ich dann dieses crossepg so mal auf ein par stunden hinkriegt,
    deine analyse kann ich schon mal nicht machen


    und ich verdiene mein geld mit testen, doku schreiben (und entwickler sagen was das resultat sein muss :D)


    EDIT
    und du editierst wieder während antworten geschrieben werden :winking_face:



    und ich bin mir auch bewust wer dahinter steckt, aber das ist mir weniger wichtig

  • Das hat auch seinen Wert, du könntest jetzt ein schönes How-To schreiben :grinning_squinting_face:

  • Na ja bei unseren Holländischen Freunden gibt es eh fast alles (FAQ, Wiki,...) aber eine Kurzanleitung fürs OE2.2 könnte sicher nicht schaden.


    Installieren von den 2 Debs gehört erklärt damit man auch die Dependencies mit installiert bekommt, auch das keine enigma2 restarts oder das Sichern der epg.db nötig sind, und auch das man jetzt sogar sequentiell laden kann weil die bestehende epg.db nur erweitert wird und nicht mehr wie die epg.dat komplett ersetzt wird.


    Auch die Einstellungsparamater wo die db ist, wie lange geladen und alte EPG Events behalten werden ist im OE2.2 etwas anders.

  • wenn ich "5 minuten" zeit finde werde ich da mal "ein paar zeilen" schreiben :winking_face:



    und testen werde ich das bestimmt auch wenn ich wieder zuhause bei die box bin
    (lady killt mich wenn ich das jetzt remote aud die ferienwohnung mache :winking_face_with_tongue: )

  • Geniess deine Ferien, ich habe ja auch nur so viel Zeit dafür gehabt weil ich über die Feiertage frei habe

  • Na gut, weil das nur 2 Codezeilen sind :face_with_rolling_eyes:


    Code
    cmd = "DELETE FROM T_Event WHERE changed < datetime(?, 'unixepoch')"
    self.cursor.execute(cmd,self.epoch_time)


    Wobei das delete über die Trigger gar nicht so schlecht performed, obwohl man dann die indizes behalten muss.


    Danke Gutemine und Ich dachte das es nicht wirken wurde mit die code die oben steht aber es geht einfach.


    Es dauerte gestern Abend was langer weil ich mich "Urban Priol: TILT! - Tschüssikowski 2014" angesehen hat und andere Dingen gemacht.


    I have some findings and I made a clean import and when examining the epg.db I noticed that the T_source was expanded with source 5 and secondly I had the following message when starting:


    Jan 02 00:53:21 dm7080 enigma2[1329]: [EPGDB] is located at /media/9016-4EF8/XMLTV-EPG/epg.db
    Jan 02 00:53:21 dm7080 enigma2[1329]: [EPGDB] %s not found, sorry


    This without any epg.db present and then T_Source contains only the four standard lines


    Jan 02 00:55:04 dm7080 enigma2[1432]: [EPGDB] is located at /media/9016-4EF8/XMLTV-EPG/epg.db
    Jan 02 00:55:04 dm7080 enigma2[1432]: [EPGDB] ADDED Rytex XMLTV with source_id 5
    Jan 02 00:55:04 dm7080 enigma2[1432]: [EPGDB] starting cleaning of events from /media/9016-4EF8/XMLTV-EPG/epg.db
    Jan 02 00:55:04 dm7080 enigma2[1432]: [EPGDB] cleaning outdated events ...
    Jan 02 00:55:04 dm7080 enigma2[1432]: [EPGDB] connect failed


    This was with a epg.db present and now line 5 is added XMLTV also the "connect failed" puzzles me.


    update: I inserted an "eEPGCache.load(epginstance)" when os.path.exists(epgdb_path) (file: epg.dat) is not found) and removed the following False. I don't know if that will disturb the rest of the import or the next import because of your warning # DMM has to fix that save is not synchronous.


    Code
    def start_process(self, epgdb_path=None, retry=False):
    		self.connection = None
    		epginstance = eEPGCache.getInstance()
    		eEPGCache.save(epginstance)
    		if epgdb_path is None:
    			epgdb_path=config.misc.epgcache_filename.value
    		if not os.path.exists(epgdb_path):
    			# DMM has to fix that save is not synchronous
    			print "[EPGDB] %s not found, sorry"
    			eEPGCache.load(epginstance)

    DM.One AIO, DM920, DM7080 archiviert DM8000 aus Dezember 2008 und eine DM600.

    3 Mal editiert, zuletzt von msatter ()

  • Mal ne ganz anddere Frage zur EPG Datenbank.


    Wann wird diese geschrieben? Also auf hdd, sdcard, usb usw.
    Nur beim Neustart/Herunterfahren?
    Was ist wenn enigma2 zuvor crasht. Dennoch alles weg?

    In Betrieb
    Dreambox 920uhd-S2X/C
    Ausser Betrieb
    Dreambox 7080HD-S2/C / 8000-S2