Modifiziertes EPGSearch für VTI 8.2.3

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ah, da haben wir ja einen. :thumbsup:
      Ne, wollte nur wissen, ob das schon vorher war oder durch meine Experimente kommt. Jetzt kann ich es ja abstellen. D:
    • Hatte heute tatsächlich mal Zeit, hier weiter zu machen (Helpscreen und fest eingebauter Skin). Die Version packe ich dann in ein eigenes Ipk, dann ist hier auch mal Schluss.
      Dabei hab ich vermutlich einen Bug gefunden, den ich gleich fixen würde.

      Wäre gut, wenn das vorher noch jemand mit einer unmodifizierten Version gegen checken können. Und zwar einfach im EpgSearch in der Ergebnisliste mal die Bouquets-Taste bzw Channel+/- drücken. Da sollte dann ein Crash kommen, weil kein SwitchBouqet oder so existiert.

      Den Bug habe ich auch schon festgestellt, tritt aber nur im SingleEPG auf


      Gesendet von meinem iPhone mit Tapatalk
    • Offiziell heißt zumindest ein ipk. Das wird noch etwas dauern. Will erst noch den gefundenen Bug fixen, und dann muß ich das ganze ja noch aufs 8er VTI portieren und ein ipk bauen.
      Und das muß dann auch vielleicht erst noch jemand testen, weil ich ja selber kein VTI 8 habe. Und was passiert, wenn das "normale" EpgSearch installiert ist, weiß auch noch keiner.

      Also etwa Weihnachten ;)

      Und dann gibt es ein ipk, das erst richtig offiziell wird, wenn es die VTI-Entwickler auf den Feed legen. D:

      Benutzbar ist die Version auf der 2. Seite vom Thread allerdings schon. Zumindest gab es noch keine Beschwerden über irgendwelche Fehler.
    • Nein und Nein. Das hier tut mit VTI 8 und passt das vorhandene EPGSearch an. Man muß nur wissen, wie man es macht.
      Ist so eben noch nicht für den gemeinen Enduser geeignet.

      So gesehen vielleicht doch eher Ja zur ersten Frage. ;) Dann geht zumindest mal nichts kaputt.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von busch ()

    • Hallo busch ,

      ich hab mal ne Frage an dich,
      epsearch ist ja nicht so schlecht, wie es gerade ist.
      Ich würde mir jedoch wünschen, dass bei den Suchergebnisse nicht nur der Sendungstitel, sonder auch noch die erste Zeile der ExtendedDescription im "list" element mit angezeigt wird.
      Warum das?, bei vielen sich wiederholenden Sendungstitel, zB. ARTEReportage, wird nur dieser angezeigt, die eigentliche Episode dagegen nicht. Man muss jetzt die Beschreibung jeder Folge sich einzeln ansehen um einen Überblick zu bekommen.

      Leider bin ich im Programmieren von python nicht so begabt, hättest du eine Idee wie man das umsetzten könnte??
    • Du kannst dir die EPGSearch.py patchen, dann hast du die Namen der Episoden in der Liste:

      Spoiler anzeigen

      Python-Quellcode

      1. class EPGSearchList(EPGList):
      2. def __init__(self, type=EPG_TYPE_SINGLE, selChangedCB=None, timer=None):
      3. EPGList.__init__(self, type, selChangedCB, timer)
      4. self.l.setBuildFunc(self.buildEPGSearchEntry)
      5. self.epgcache = eEPGCache.getInstance()
      6. if PartnerBoxIconsEnabled:
      7. # Partnerbox Clock Icons
      8. self.remote_clock_pixmap = LoadPixmap('/usr/lib/enigma2/python/Plugins/Extensions/Partnerbox/icons/remote_epgclock.png')
      9. self.remote_clock_add_pixmap = LoadPixmap('/usr/lib/enigma2/python/Plugins/Extensions/Partnerbox/icons/remote_epgclock_add.png')
      10. self.remote_clock_pre_pixmap = LoadPixmap('/usr/lib/enigma2/python/Plugins/Extensions/Partnerbox/icons/remote_epgclock_pre.png')
      11. self.remote_clock_post_pixmap = LoadPixmap('/usr/lib/enigma2/python/Plugins/Extensions/Partnerbox/icons/remote_epgclock_post.png')
      12. self.remote_clock_prepost_pixmap = LoadPixmap('/usr/lib/enigma2/python/Plugins/Extensions/Partnerbox/icons/remote_epgclock_prepost.png')
      13. def buildEPGSearchEntry(self, service, eventId, beginTime, duration, EventName):
      14. (clock_pic_local, rec1) = self.getPixmapForEntry(service, eventId, beginTime, duration)
      15. # Partnerbox
      16. if PartnerBoxIconsEnabled:
      17. rec2 = beginTime and isInRemoteTimer(self,beginTime, duration, service)
      18. else:
      19. rec2 = False
      20. r1 = self.weekday_rect
      21. r2 = self.datetime_rect
      22. r3 = self.descr_rect
      23. t = localtime(beginTime)
      24. serviceref = ServiceReference(service) # for Servicename
      25. event = self.epgcache.lookupEventId(serviceref.ref, eventId)
      26. if event:
      27. eventshortdesc = event.getShortDescription()
      28. else:
      29. eventshortdesc = ""
      30. res = [
      31. None, # no private data needed
      32. (eListboxPythonMultiContent.TYPE_TEXT, r1.left(), r1.top(), r1.width(), r1.height(), 0, RT_HALIGN_RIGHT, self.days[t[6]]),
      33. (eListboxPythonMultiContent.TYPE_TEXT, r2.left(), r2.top(), r2.width(), r1.height(), 0, RT_HALIGN_RIGHT, "%02d.%02d, %02d:%02d"%(t[2],t[1],t[3],t[4]))
      34. ]
      35. if rec1 or rec2:
      36. if rec1:
      37. clock_pic = clock_pic_local
      38. # maybe Partnerbox too
      39. if rec2:
      40. clock_pic_partnerbox = getRemoteClockPixmap(self,service, beginTime, duration, eventId)
      41. else:
      42. clock_pic = getRemoteClockPixmap(self,service, beginTime, duration, eventId)
      43. if rec1 and rec2:
      44. # Partnerbox and local
      45. res.extend((
      46. (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic),
      47. (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left() + 25, r3.top(), 21, 21, clock_pic_partnerbox),
      48. (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 50, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, serviceref.getServiceName() + ": " + EventName + " > " + eventshortdesc)))
      49. else:
      50. res.extend((
      51. (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic),
      52. (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 25, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, serviceref.getServiceName() + ": " + EventName + " > " + eventshortdesc)))
      53. else:
      54. res.append((eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, serviceref.getServiceName() + ": " + EventName + " > " + eventshortdesc))
      55. return res
      Alles anzeigen
    • :444:


      ich habe noch eine kleine Änderung vorgenommen.

      den Trenner " > " habe ich durch eine Klammer um den erweiterten Text ersetzt.
      Die Klamme erscheint nur wenn auch tatsächlich ein Text vorhanden ist.

      Quellcode

      1. def buildEPGSearchEntry(self, service, eventId, beginTime, duration, EventName):
      2. (clock_pic_local, rec1) = self.getPixmapForEntry(service, eventId, beginTime, duration)
      3. # Partnerbox
      4. if PartnerBoxIconsEnabled:
      5. rec2 = beginTime and isInRemoteTimer(self,beginTime, duration, service)
      6. else:
      7. rec2 = False
      8. r1 = self.weekday_rect
      9. r2 = self.datetime_rect
      10. r3 = self.descr_rect
      11. t = localtime(beginTime)
      12. serviceref = ServiceReference(service) # for Servicename
      13. #Mod by pzy-co, add eventshortdesc
      14. event = self.epgcache.lookupEventId(serviceref.ref, eventId)
      15. eventshortdesc = ""
      16. if event:
      17. eventshortdesc = event.getShortDescription()
      18. if eventshortdesc != "":
      19. eventshortdesc = " [" + eventshortdesc + "]"
      20. res = [
      21. None, # no private data needed
      22. (eListboxPythonMultiContent.TYPE_TEXT, r1.left(), r1.top(), r1.width(), r1.height(), 0, RT_HALIGN_RIGHT, self.days[t[6]]),
      23. (eListboxPythonMultiContent.TYPE_TEXT, r2.left(), r2.top(), r2.width(), r1.height(), 0, RT_HALIGN_RIGHT, "%02d.%02d, %02d:%02d"%(t[2],t[1],t[3],t[4]))
      24. ]
      25. if rec1 or rec2:
      26. if rec1:
      27. clock_pic = clock_pic_local
      28. # maybe Partnerbox too
      29. if rec2:
      30. clock_pic_partnerbox = getRemoteClockPixmap(self,service, beginTime, duration, eventId)
      31. else:
      32. clock_pic = getRemoteClockPixmap(self,service, beginTime, duration, eventId)
      33. if rec1 and rec2:
      34. # Partnerbox and local
      35. res.extend((
      36. (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic),
      37. (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left() + 25, r3.top(), 21, 21, clock_pic_partnerbox),
      38. (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 50, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, serviceref.getServiceName() + ": " + EventName + eventshortdesc)))
      39. else:
      40. res.extend((
      41. (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic),
      42. (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 25, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, serviceref.getServiceName() + ": " + EventName + eventshortdesc)))
      43. else:
      44. res.append((eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, serviceref.getServiceName() + ": " + EventName + eventshortdesc))
      45. return res
      Alles anzeigen

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von apc001 ()

    • Waaah wieder ein Update vom EPGSearch im Image. Ich komm ja gar nicht hinterher. :291:
      @schomi Könnt ihr meine Änderungen nicht auch einfach übernehmen?
    • Die Änderungen von hier (zzgl was ich seither noch in der Pipeline habe) in das offizielle EpgSearch von euch.
      Eigentlich wollte ich ja abschließend ein EpgSearch2 als Ipk bereitstellen, aber wenn sich das Original jetzt so schnell weiterentwickelt, wird das ja schneller alt als ich (hab heute Geburtstag).