@Dimitrij
I explain to you. There is no function that merge more than one epg.dat file. Each time epg.dat is uncompressing and saved, it overwrite the precedent one. Check code please (readEpgDatFile function).
@doglover
Thanks for epxlanation. Anyway i don't think it is the cause of deleting of epg.dat at startup, because it doesn't happen always. It is hard to catch its deleting. I can't beleave the problem is corruption, because it is the same file downloaded by rytec and already loaded after its download (so file is good) -> i can say this because i disabled saving epg at reboot/restart/shutdown.
@littlesat
Is there a reason do you merged solution by Dimitrij and not mine (moreover already committed on oe-core)? I tested mine solution and it works. Someone tested Dimitrij's solution?
If yuo are not interesting in my fix and bug catch, simply say it. I'm a software developer, not in python, but as you can imagine i can understand what i do.
Maybe you and Dimitrij can explain me why calling "self.readEpgDatFile(filename, deleteFile)" should return, and calling "threads.deferToThread(self.readEpgDatFile, filename, deleteFile).addCallback(lambda ignore: self.nextImport())" shoud not return. What is the difference?!
Moreover, not return at that point, could cause problem in any case (even with Dimitrij solution), simply because that part of code is not thread safe....
Edited by antony23, 6 January 2017 - 22:54.