Frage zur neuen EPG- Datenbank

  • I think the problem comes for EpgSelection.py enigma2 coding:


    Code
    if cur[1] is None or cur[1].getServiceName() == "":         	
                        	if self.key_green_choice != self.EMPTY:             	
                                	self["key_green"].setText("")               	
                                	self.key_green_choice = self.EMPTY


    If the serviceName returns as empty string it will not show Add timer ... but how can this happen ?????

    2 Mal editiert, zuletzt von Lost in Translation ()

  • Simply edit the file EpgSelection.py


    Code
    if cur[1] is None or cur[1].getServiceName() == "":


    should be this:


    Code
    if cur[1] is None:


    Then Add timer button is back and it seems to work .... but DMM will not like this chain saw approach ...

  • I have not yet edited EPGSelection.py but I have a other strange behaviour.


    Been in the Info (Eventview.py) screen and went back and tied the yellow button and went back. Now only the first two lines have no long description and I have a wait till a event expires.


    I will edit EpgSelection.py the time being DMM has a look into it. updat: that does not change the behaviour as above and I have to do a enigma restart.


    Thank for finding this quick patch Gutemine.

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

    Einmal editiert, zuletzt von msatter ()

  • Well please try editing it and confirm that this helps - then probably DMM can look into it how it can happen that the ServiceName is not properly returned at this place of the code.


    But then it is not my/epg loaders fault I think ? :face_with_rolling_eyes:


    But DMM changed a lot of things internally in enigma2 C++ code to make all thse nice new features work.


    We are now simply entering new land to run this code parts with external epg data instead of internal one - so it really could be that we simply found a bug here, and if not we will have to further investigate.


    At least you are lucky that I like this kind of puzzles :grinning_squinting_face:

  • Can you have a look at inserting the language provided by the XMLTV also into the database?


    I have no success with the dirty patch and now also M6 HD have trouble. I am using a saved epg.db and will now read a fresh one in.


    BTW I managed seemly to fill up all the memory because I had a few duplicates of 100MB epg.db files in /etc.enigma2 :smiling_face:

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

    2 Mal editiert, zuletzt von msatter ()

  • Still doesn't work and that counts only for single EPG and in WebControl I have the full EPG working. So I assume it is up to DMM to check this.

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

  • Danke für das Plugin. Scheint gut zu laufen.
    Sorry falls ich etwas überlesen habe aber ist das normal, dass die Box jetzt länger braucht zum Herunterfahren?
    Seit dem ich die epg.db gefüllt habe, kommt beim Herunterfahren ein Spinner der ca. 70 Sek. dauert.
    Vorher fuhr die Box direkt runter.

    Samsung - UE55 ES 8090
    Fritz!Box 7590 AX V2 + Synology DS214play
    DM920 FBC-S2X+Triple + DM One BT combo <-- 28E;23E;19E;13E;KD

  • schau mit ls -alh /etc/enigma2/epg.db nach wie gross deine epg.db ist.


    > 100MB kosten bereits ca. 20 Sekunden shutdown und etwa 10 Sekunden boot Zeit


    And yes, if it is strange enigma2 behaviour my possibility to help is limited - disabling the check in enigma2 pythin part is only a workaround for C++ part not returning correct name.


    Problem with language from xml ist that this is currently not 100% properly done - means I would nee to change Plugin further - which I tried to avoid as it is not mine and the coding partly is ... strange. Never seen so many try: except to hide poor coding :face_with_rolling_eyes: And believe me, I really KNOW how to do BAD code.

    6 Mal editiert, zuletzt von Lost in Translation ()

  • OK, I have added also the language extraction of the xm files to the Plugin, but I had to write a manual routine to convert from 2 char to 3 char iso639 language codes:


    see xmltvconverter.py for the get_xml_language routine:



    Please check for wrong/missing languages there if you have problems with exotic languages !!!!


    Mapping was copied from here:


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


    Please install r20 and report if situation has improved if you experienced strange characters in loaded epg.


    Ciao
    gutemine

    3 Mal editiert, zuletzt von Lost in Translation ()

  • @gutemine: could it be that the problem for some 28.2 channels is caused by the fact that dmm uses 28.5 for astra2? This leads to a different servicerefence and quite likely en empty service name.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • I don't think so because the matching happens also during the extract, remember I re-wrote the channelFilter to simply check with the service refenrece if a ChannelName is given which is more or less the same code, why should it return a Name there and then not later in the EPGList ?.


    Furrther more than all channels on 28.2/5 should be affected, not some yes some no.


    But you could try it out - edit satellites.xml and test it.


    EDIT: die EpgSelection.py verwendet direkt eServiceReference.getName
    Mein Code verwendet die ServiceReference.py mit channel = ServiceReference(str(ref)).getServiceName() und da wird in python noch zusätzlich gechecked:


    def getServiceName(self):
    info = self.info()
    return info and info.getName(self.ref) or ""


    Wahrscheinlich kommt da der Unterschied her - aber wie schon gesagt das sollte sich DMM anschauen, mir hat schon gereicht ins Plugin den Language support einzubauen, weil das waren 2h Nachtarbeit.


    ABER dein Input könnte der Grund sein warum ich kaum EPG bei BBC habe wenn ich die Standardkanallisten lade um auch BBC als Channels zu haben. Könnte mir jemand der überall auf den UK sendern EPG hat seine kompletten Settings hochladen um das zu checken ?

    2 Mal editiert, zuletzt von Lost in Translation ()

  • Thank you so much Gutemine burning the midnight oil to also include the languages into the EPG!!


    I mentioned yesterday that M6 HD had the same problem and today used your r20 version to first import the UK XMLTV and I still not get the same problem. Then I erased the epg.db and did the French XMTLV import and M6 HD was complete. When I looked yesterday in my Webinterface for the Dreambox I noticed that the long description was displayed but that all the other fields were Not Available (NA) so maybe it could have something to do internal cleaning of pointers to other records due to obsolete records. Time will tell and I can check later in the day for a transmission in the past that has many repeats.


    About the satellites.xml I see that the 27.94-28.48 are all combined under 28.2 so they are all grouped.


    update: now I have lost events after a few hours and a restart. Title, short/long description still is there together with the starting time. I will have look in de DB what is missing.

  • Well, while the early versions deleted content from most of the T_* Tables when loading epg the current versions only delete from T_Event the ones that are actually coming from xmltv source_id.


    This means the desscriptions still keep the old timestamp and could be dropped by the housekeeping. So we either have the choice - go back to erase everything or start updating timestamps selectively - I prefere the first one as this is much simplier logic wise and already has prooven to work and it is also relatively performant.


    But it means that after the xmltv load an EPG refresh would be also needed like on the old days (where also epg.dat was replaces and hence everything from before was more or less lost) to get the non-loaded epg back.


    At least the language handling seems to be working so the late night shift was not completely wasted :grinning_squinting_face:


    EDIT: Please use r21 which now deletes all tables on load again to prevent further inconsistencies - but this means also manual deleting of epg.db should NOT be needed anymore.
    And as we now fill language too the only field of the epg.db where I'm not sure is this damned dvb_event_id which gors into T_Event - I simply use a counter starting from 0 to make it unique for every event, but I have no glue if this is a valid approach - maybe DMM can enlight us here a little bit :face_with_rolling_eyes:

    6 Mal editiert, zuletzt von Lost in Translation ()

  • me too, but the first focus was to get the data into the db, but now it has to be and stay also consistent when you repeat the exercise on a daily basis.

  • Like you it seems to me better to wait for DMM to shed some light on it all because I get really inconsistent output the more I look into it. I have now even found wrongly displayed dates and times when browsing in the EPG of the BBC Four HD.


    According to the database it should start at 20:00GMT --> 21:00 our time and here is displayed 23:00 our time on the date 0.12.2014 which should be 31.12.2014. Epoch: 1420056000


    Thank you so much for all the good work and we will see next year if all things can be ironed out with help of DMM.


    Eine gute rutsch im neues Jahr!! :smiling_face: