Frage zur neuen EPG- Datenbank

  • msatter: müsste denn was gespeichertt werden? Wenn externe daten in der db sind, werden die daten des senders nicht mehr verwendet.


    Denke schon. Outdated events sind nicht mehr nötig und können deleted werden. Neu eingelesene Information können zugefügt werden. Beim abschließen schreibt die box ein epg-journal.db die großer ist aber nach das abschließen ist die große vom egp.db gleich wie vorher.

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

  • Manchmal wenn ich das Plugin aufrufe erscheint unter Sources nichts. Wenn ich dann dies mehrmals aufrufe erscheinen dann wieder die verschiedenen Länder.


    Wähle ich dann wenigstens eins aus, dann erscheint beim "Manual"-Knopg ab und zu trotzdem die Meldung "No active EPG sources".


    Nach einigen Versuchen funktionniert's dann normalerweise.


    Ich habe auch noch die xmltvimport-rytec_2.0r0 drauf (die r3 die hier im Thread erwähnt wird konnte ich nicht finden). Deshalb habe ich mir die neueste rytec.sources.xml heruntergeladen. Wo muss die hin (auf der Dreambox habe ich sie nicht gefunden)?

  • Bitte NUR die aktuellen Kits benutzen, gerade bei den rytec sourcen nur mit der sources.xml von der r4 testen sonst kriegt man teilweise steinalte Daten die natprlich nicht angezeigt werden !!!!!


    Und wenn Ihr selber rytec source files habt einfach als xxx.sources.xml ins /etc/epgimport directory kopieren.

    Code
    ls  /etc/epgimport
    current.sources.xml


    Die current stammt aus dem r4 deb damit man wenigstens eine hat mit quellen. Aber achtung rytec.sources.xml wird ignoriert, also mit anderem xxxx anfangen.


    Und das man auf Blau und gelb ein bisschen warten muss bis die Daten im Hintergrund geladen sind habe ich auch schon im Thread erklärt.


    Im Anhang ist eine r16, da werden NUR mehr die alten XMLTV Events gelöscht statt alle Daten nieder zu prügeln, damit sollte der DB locked Fehler seltener auftreten.


    Und outdated epg events sollte das housekeeping der epg db entfernen, wobei da vom Plugin beim laden sowieso alle externen XMLTV Events gelöscht werden, sollte ein neuer load dann eh nur wieder aktuelle events bringen.


    Wobei die rytec sourcefiles ja auch nur täglich aktualisiert werden, je nachdem wann man runterladet wird man dann halt events haben die an diesem Tag eigentlich bereits vorbei sind, aber die werden sowieso nicht angezeigt.

    5 Mal editiert, zuletzt von Lost in Translation ()

  • Gutemine: bevor ich deine Antwort hier gelesen habe, habe ich nach deinen Anweisungen die epg.db gelöscht und nur nochmals die französischen Sender importiert: jetzt ist auf einmal alles da (also auch die britischen).


    Ich habe aber auf alle fälle auf die neuesten Releases upgedatet. Danke vielmals für das Plugin!

  • Das ist KEINE Release und ich werde auch sicher KEINE machen, das Plugin hat einen Maintainer und ich bin das nicht und ich habe auch NICHT vor irgendwas von meinen Änderungen dort einzuchecken.


    Die aktuellen Versionen sind so gebaut das sie denke ich auch weiterhin mit den anderen boxen funktionieren (dann wird der alte code aus epgdat.py statt mein epgdb.py verwendet) mehr werde ich nicht tun.


    Bitte vergesst nicht das einer der Gründe warum ich mich an Ihrem Plugin 'bedient' und es einfach aufs OE 2.2 umgehämmert habe mein von gegenseitiger Achtung geprägtes Verhältnis zu unseren Holländischen Freunden war :smiling_face_with_horns:


    Mit der r16 kann man aber mehrmals die selbe source laden, gerade 3x hintereinander mit DE/AT/CH probiert. Insofern sollte der Trick um die epg.db wieder zu leeren nicht mehr nötig sein, aber ich habe halt so entwickelt, damit weis ich das man wenn man irgendwo beim laden abbricht oder komische Sachen passieren man damit wieder in einen konsistenten Zustand der epg.db kommen kann.

  • Ich wollte mich nur bedanken für deine Arbeit.


    Ich habe mich übrigens zu früh gefreut was die englischen Sender betrifft: nur BBC 1 und 2 scheinen mit EPG-Daten versorgt zu sein.


    Ich werde es nochmal probieren aber muss wiederum die epg.db löschen.

  • Es ist beim Testen immer eine gute Idee mit einer sauberen und leeren epg.db zu beginnen, allerdings habe ich schon gesagt das ich nicht sicher bin ob die Anzeigeprobleme von meinem code kommen, die Quellen der epg daten werden aus der sourcelist scheinbar mit random genommen um die load zu verteilen und nicht alle Quellen sind scheinbar gleich gut/aktuell.


    Und wenn du alte Daten ladest wird nichts angezeigt, ich habe in den debugging output zwar etwas eingebaut damit am Schluss auch ausgegenen wird wie viele events in der Vergangenheit sind aber das ist auch nur eine Zahl um ein Gefühl zu kriegen ob es gut gegangen ist.

  • Die r19 sehr gut. Die UK spinnt noch immer und die Informationen sind da aber werden nur nicht in de single-epg wiedergegeben. Kann mal eine andere skin probieren.


    Also es ist doch nicht so verkehrt um Freunde in die Niederlande zu haben und es hat Gutemine sehr motiviert! :winking_face:


    Für Bschaar, Redbutton zit nu in de UK XMLTV en alleen moet ik zo te zien de naam nog aanpassen alhier.


    [EPGImport] updating status ...
    Unknown channel: BBCRedButton1.uk
    main thread is non-idle! display spinner!

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

  • ich habe noch keinen sauberen Weg gefunden die epg sprache in die T_Data richtig einzutragen, evt. kann das Problem von da kommen das ich nur "" reinschreibe statt eng oder deu.


    In der xm ist diese info scheinbar nicht, weil nichts in diese Richtung übergeben wird, ich nehme also an der epg.dat war das egal und das ist ein neues Feature der epg.db um Multi Language epgs zu ermöglichen.


    Ich könnte aber eine Einstellung ins Plugin machen um das zu testen aber Ihr müsstet mir eben die nötigen Werte sagen ?


    Wobei ich denke das sind die texte mit 3 Buchstaben so wie im Wiki beschrieben:


    http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes


    Kann mir wer eine liste machen von allen nötigen ?

  • Ich habe soeben EPG Daten für UK, F, D und BNL auf 10 Tage im voraus eingelesen: 180'000 event resultierten in einer 110 MB grossen epg.db Datei.


    Es hat etwa eine halbe Stunde gedauert und dabei habe ich herausgefunden dass man das Plugin auch verlassen kann. Ich dachte schon, dass es nicht funktionnieren würde da ich vergessen hatte auf einen EPG-losen Kanal umzuschalten, und als die Message Box erschien, dass das Laden beendet ist wechselte ich in die Kanalauswahl: nichts zu sehen hinter den Sendernamen. Aber nach etwa ein, zwei Sekunden wurde die Liste gefüllt.


    Alles da, auch nach Neustart (der unwesentlich länger gedauert hat, vor allem hat das Herunterfahren der Box länger gedauert, wohl zum Schreiben der EPG Daten). Nochmals danke!

  • Natürlich musst du nicht warten, das Plugin kann ja auch zur Fixen Zeit und im Hintergrund laden oder bei jedem Booten,...


    ABER das habe ich nichtmal ausprobiert, bitte solche Sachen durch das Lesen in der XMLTV Plugin Sektion im Board bei unseren Holländischen Freunden klären und in diversen Wikis.


    Aber ja, schön langsam scheint es zu funktionieren ...

    Einmal editiert, zuletzt von Lost in Translation ()

  • Danke, aber ich komme schon zurecht. Jeder Mensch hat halt auch nur 2 Mittelfinger :grinning_face_with_smiling_eyes:

  • Ich hätte jetzt noch eine Frage an DMM:


    in der enigma.py findet man auch noch eEPGCache.setCacheTimespan wo man scheinbar eine Zeit übergeben kann wie oft der EPG Cache in die Datenbank rausgeschrieben werden soll, oder verstehe ich das falsch?


    Was ist da der Default wert wenn man nichts angibt, und würde es reichen wenn man dort einen extraem grossen Wert übergibt damit enigma2 alles cached und dann erstmal gar nichts in die epg.db rausschreibt, weil das würde sinn machen während ich die epg.db befülle, weil ich sie nachher sowieso wieder lade und dann alle updates die in der Zwischenzeit passieren verloren gingen ?


    Weil die DB Lockj Fehler die ich immer wieder kriege passieren scheinbar wenn enigma2 gerade was in die epg.db schreiben will, während das Plugin sie auch aufmacht um zu löschen/ zu schreiben, und ich bräuchte daher eine Methode um das zu verhindern - wofür sich eben das CacheTimespan anbieten würde. Deswegen passieren die Locks auch fast nicht wenn ich beim Laden auf einem Sender bin wo kein EPG ausgestrahlt wird, wiel dann wird auch nichts in die epg.db geschrieben und es kann kein gegenseitiger Lock passieren.


    Ideal wäre es wahrscheinlich wenn man zB -1 als Zeit übergeben könnte und damit enigma2 überhaupt NUR mehr unbegrenzt im Cache arbeiten lassen könnte (also sozusagen unendlich als Wert wann wieder mal die db rausgeschrieben wird), und nach dem Load der epg.db müsste man da halt wieder 0 oder den Default Wert reinschreiben damit wieder ganz normal die EPG events wo man keine höhere priority hat weil sie vom xmltv kommen auch wieder rausgeschreiben werden.


    Geht das oder müsste/könnte man das anders lösen ?


    LG
    gutemine


    PS: Und gutemine hat keine Feinde - wir Gallier verklopfen halt alle gerne ... die Römer.

    Einmal editiert, zuletzt von Lost in Translation ()

  • Code
    [EPGC] set cache timespan to 0 days!


    Ich habs einfach ausprobiert, wenn ich da 0 übergebe dann sagt er die Einheit sind TAGE?


    Insofern habe ich das wohl missverstanden, ist das die Dauer wie Lange EPG in die Zukunft gehalten wird, dann müsste ich es wohl umgekehrt benutzen - 0 würde dann kein EPG heissen, also alle Updates müssten ignoriert werden, und am Ende setze ich es wieder auf was sinnvolles wie 5 Tage oder den Wert aus dem Plugin wie lange Long descriptions in die EPG Datenbank geladen werden sollen ???


    Weil wenn ich 0 übergebe sagt er nämlich auch noch


    Code
    [EPGC] db thread stopped


    Und das wäre ja was ich brauche damit keine locks auftreten können wenn ich den Inhalt aktualisiere?

    5 Mal editiert, zuletzt von Lost in Translation ()

  • In der enigma.py gibt es auch noch:


    Code
    eEPGCache.Lock 
    eEPGCache.Unlock


    Würde denn das helfen die Locks loszuwerden damit man sorgenfrei updaten kann ?


    Ich habe das in eine r19 reingemacht, bitte testen ob vielleicht damit die Lock Fehler nicht mehr passieren


    EDIT: Ja das funktioniert jetzt besser ... und langsam verliere ich die Lust da daran weiter zu basteln wenn Ihr so viel mithelft :face_with_open_mouth:
    Funktionieren tut es ja, also ist meine Mission (sofern man in diesem Fall davon sprechen kann) eigentlich erfüllt.

    7 Mal editiert, zuletzt von Lost in Translation ()

  • To be honest I don't know the reason for this - could be because Now is still coming from Live broadcast.


    But it works for german channels that I load via the Plugin, so it seems to be not a generic problem of the loaded EPG data.


    Maybe it could be due to the fact that when importing language I pass a blank to the epg.db, because the xml epg data doesn't contain language information that I could use.


    if you want to test this theory edit the epgdb.py and change


    Code
    cursor_data.execute(cmd, (self.event_id,title_id,self.short_description_id,self.extended_description_id,'')


    to pass always english:


    Code
    cursor_data.execute(cmd, (self.event_id,title_id,self.short_description_id,self.extended_description_id,'eng')