Frage zur neuen EPG- Datenbank

  • Du musst gerade mir nicht erzählen was man davon hat wenn man was anderen Leuten zur Verfügung stellt - ich deke ich habe schon genug gespendet, und es ist auch kein Ende abzusehen.


    Das Problem ist das wir derzeit generell ein bisschen zu viel Jammern und zu wenig selber tun oder selber beitragen haben ...


    Aber das ist hier im Thread auch schon OT - es haben mich nur die letzten Posts neuerlich dazu inspiriert das auch mal wieder festzuhalten.

  • Zitat von gutemine

    Hat schon irgendwer die simple Frage die ich weiter oben gestellt habe beantwortet ob eigentlich das Laden der Feeds mit der version die ich gemacht habe funktioniert (mal unabhängig davon ob sie in die epg.db geladen werden).


    Gab es was zum Testen?

  • ich habe 4 versionen gepostet - und es gab kaum Feedback - ausser von Reichi zum Code was zwar Hilfreich war aber mir nicht hilft zu sehen was geht.


    Die r4 befüllt sogar die DB Tabellen zum teil, allerdings mit besch* Performance. Ich hätte auch eine r5 rumliegen aber so bringt das wenig wenn die Erwartungshaltung ist --- bitte fertig machen, dann "testen" wir gerne. Es sollte eigentlich ausreichend bekannt sein das ich nicht so arbeite ...

  • Yo are welcome to overtake, as I never really wanted this job :grinning_squinting_face:


    But you shoudl read the comments of the DMM developers here in the thread on performance, you should NOT do any commit before you are done then the speed will dramaticlaly improve - the dm70080 and 820 has enough memory to buffer all the inserts before the real commit comes. And you should not re-use the cursor for different tables - one per table where you just insert/append is much more performant.


    In my code that I posted I only had a commit on every insert to be better able to debug and verify the failing inserts. As soon as I moved to 1 insert per channel it already dramatically speed up and I didn't even try with a single commit as I'm still waiting for the hash routine from enigma2 to be checked into the public code.

    I use one final commit (with executemany) after the 4 query to write list on db. I use one list for each table and three dictionary to save hash/id to avoid duplicated title, short and extended description.

  • Here in the thread executemany was also suggested as a performance improvement, BUT I personally have my doubt if this would really improve performance, because you then would have to create a list of statements/data in python, and python lists are NOT very performanant if they bcome quite long. A database is optimized for appending entries continuously as rows to a table, therefore my plan for the code was to append all events in sequence at the end with individual cursors for each table, because in my opinion this should give better performance then stacking the data in a pythoon list and then doing a mass update.


    And I would have first tried to make a commit on every channel/servicereference as this is a natural breakpoint anyway and only when this works I would have avoided the commit all to the end. But for any first working version slow would be better than not working at all :thumbs_up:


    Ciao
    gutemine

  • Is there a new enigma2 checked in at git.opendreambox.org ?


    No, there isn't

  • you are welcome ...


    4.2.1.9 ?

    Einmal editiert, zuletzt von Lost in Translation ()

  • Thanks for putting it also on the image feed.


    Now may the fun begin ...

  • Nachdem es heute aber schon spät ist lade ich im Anhang erstmal den codestand hoch den ich nicht debuggen konnte solange der memory leak fehler den output zugepflastert hat.


    Im Prinzip wird die epg.db damit auch befüllt ... allerdings langsam, sehr langsam ...


    Wobei ich da schon froh war das es erstmal nicht crashed beim befüllen und keinen sql fehler kommen bei doppelten hast Einträgen - sprich es wird vorher immer nachgesehen ob der hash schon existiert und nur neue Einträge in die Tabelle eingefügt.


    Also besser systemctl stop enigma2 machen und das enigma2 in telnet starten damit man wenigstens ein bisschen zusehen kann.


    Das *.deb mit den rytec sourcen von weiter oben im Thread habt Ihr ja hoffentlich schon installiert ...


    LG
    gutemine

    Einmal editiert, zuletzt von Lost in Translation ()

  • Hab einen Test gemacht mit den UK sourcen. Hat etwa 1 Stunde gedauert. Erfolgreich abgeschlossen. epg.db ist ca.30MB gross. EPG zeigt aber trotzdem nichts an. Sollte dies schon funktionieren?

    Dreambox 7080

    Einmal editiert, zuletzt von Slayer_ch ()

  • So wie ich geschrieben habe, ich habe in der letzten Woche nichts daran gemacht weil es mit den ständigen memory allocation fehlern im log praktisch nicht zu debuggen war.


    Das was ich hochgeladen habe war nur soweit gefixed das es geladen hat ohne zu crashen aber auch ohne irgendwelches Performance Tuning.


    Wenn nichts angezeigt wird von dem geladenen Sachen dann wird wohl noch ein Fehler in der Service Zuordnung oder dem Vergeben der event ids sein. Wenn ich Zeit habe schaue ich mir das an, wobei wie schon gesagt mit dem Codegerüst das auch prinzipiell Andere machen könnten, insofern müsst Ihr Euch halt gedulden, spätestens über die Weihnachstsferien werden wir das schon hinkriegen.


    Mich hat ja nur gestört das alle sich zurück gelehnt haben und DMM beschuldigt, obwohl es gar nicht so schwer ist die epg.db zu benutzen.


    In dem derzeitigen Code stecken auch nur ca. ein halber Tag Arbeit - und ich musste mir das alles erst mühsam zusammen suchen und hier erfragen.


    Gerade bei solchen Sachen würde ich sowieso gerne anderen den Vortritt lassen ... aber was soll ich machen wenn alle Mikado spielen ... der sich zuerst bewegt hat verloren.


    Du siehst es ja jetzt auch wieder 12 Leute haben es schon runtergeladen, aber ausser Dir hat keiner Feedback gegeben.

    Einmal editiert, zuletzt von Lost in Translation ()

  • Ich biete mich auch an zum Qualen....aber bitte nicht mit deinem Teichroller. :winking_face: Ich sah gerade dem update auf dem Feed und lese hier das weiter kann.


    Heute noch werde Ich einem Import machen und zusehen was die Enigma schriebt. Leider hier nur Basic und Pascal Kenntnisse und auch noch vom sehr lange her.

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

  • Ich habe gestern eine run gemacht und ich nehme die Erotik XML weil die nicht viele events hat. Ich sehe nichts zurück vom dem Aktion aber das kommt sicherlich noch.

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

    Einmal editiert, zuletzt von msatter ()

  • Nochmals Danke, jetzt kommen eh die Feiertage und es sollte genug Zeit für weitere Besteleien daran zu sein. Mal sehen ob wir es hinkriegen.


    Gibt es noch weitere Vorschläge für eine XML wo nicht so viele Sender drinnen sind damit es beim testen schneller durchläuft ?


    Die angeblich vielen User die es benutzen/brauche sollten wenigstens solche Sachen beantworten können - ich habe wenig Lust alle durchzuprobieren und Events zu zählen um das selber rauszufinden.

  • ist ja nich so schwer um die resourcen zu editieren
    da kann mann einfach "referenzen" lösschen damit nur ein par sender befüllt werden


    bin aber noch beruflich eingespannt (gibt halt sachen die laufen wärend rest vom betrieb urlaub macht ;)), hab da also wenig zeit zu

  • noch mal schnell geschaut


    er gibt eine datie "resources.xml"


    diese verweist auf "channels.xml"


    kann man recht einfach editieren und so mit seine eigenen varianten verwenden


    (gibt im ihad noch irgens ein thread wo ich das erklärt habe)