iServiceInformation.sServiceref bei Aufnahmen ermitteln

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

    • iServiceInformation.sServiceref bei Aufnahmen ermitteln

      Ich komme hier leider nicht ganz weiter. Vielleicht hat jemand eine Idee.
      Ich würde gerne bei den laufenden Recordings den Referencestring auslesen.

      Über session.nav.getCurrentService().info().get InfoString(iServiceInformation.sServiceref) bekomme ich für den aktuell laufenden Service den Referenzstring 1:0:16:1C:3:85:C00000:0:0:0: gemeldet. Das wäre auch das gewünschte Ergebnis für laufende Recordings.

      Wenn ich das gleiche mit den laufenden Recordings mache, ist das Attribut "info()" nicht verfügbar.

      Wie komme ich an den Referenzstring für laufende Aufnahmen?

      Spoiler anzeigen

      Python-Quellcode

      1. Teil1:
      2. try:
      3. service = self.session.nav.getCurrentService()
      4. print "service="+str(service)
      5. info = service.info()
      6. if info:
      7. refstr = info.getInfoString(iServiceInformation.sServiceref)
      8. print "refstr="+str(refstr)
      9. except:
      10. print "ERROR" + str(sys.exc_info()[0]) + str(sys.exc_info()[1]) + " line: " + str(traceback.tb_lineno(sys.exc_traceback))
      11. Teil2:
      12. try:
      13. recs=self.session.nav.getRecordings()
      14. Print "len(recs)=" + str(len(recs))
      15. for rec in recs:
      16. print "rec="+str(rec)
      17. info = rec.info()
      18. except:
      19. print "ERROR" + str(sys.exc_info()[0]) + str(sys.exc_info()[1]) + " line: " + str(traceback.tb_lineno(sys.exc_traceback))
      Alles anzeigen

      Teil1:
      service=<enigma.iPlayableServicePtr; proxy of <Swig Object of type 'ePtr< iPlayableService > *' at 0x5558b278> >
      refstr=1:0:16:1C:3:85:C00000:0:0:0:

      Teil2:
      len(recs)=1
      rec=<enigma.iRecordableServicePtr;proxy of <Swig Object of type 'ePtr< iRecordableService > *'at 0x54b07998> >
      ERROR<type 'exceptions.AttributeError'>'iRecordableServicePtr' object has no attribute 'info'

      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen

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

    • Ungetestet, aber vielleicht hilft es dir weiter.

      Python-Quellcode

      1. import NavigationInstance
      2. from RecordTimer import RecordTimer
      3. for timer in (NavigationInstance.instance.RecordTimer.timer_list + NavigationInstance.instance.RecordTimer.processed_timers):
      4. if timer and timer.service_ref:
      5. print str(timer.service_ref) + ' - ' str(timer.name)


      Edit:
      Eventuell geht's aber auch so.

      Python-Quellcode

      1. for timer in NavigationInstance.instance.RecordTimer.timer_list:
      2. if timer.isRunning() and timer.service_ref:
      3. print str(timer.service_ref) + ' - ' str(timer.name)
      Wer einfach Danke sagen und meine Projekte unterstützen möchte: Amazon-Gutschein an - thomas.siegel@ts-myinter.net - ist immer herzlich Willkommen!
      Projekte : VuMatic-Smarthome-Center, VWeather3, AdvancedEventLibrary, TVDbInfo

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

    • @tsiegel
      vielen Dank für deine Antwort.

      Das funktioniert, wenn die gestartete Aufnahme von einem Timer initiiert wurde.
      Beim Stream starten habe ich jedoch keinen laufenden Timer. Ich möchte abfragen, welche Servicereferenz beim Livestream gestartet wurde.
      Ich hänge mich dazu an record_event dran

      um dann bei evStart den Servicereferencestring abzufragen. (so der Plan)

      Meine Überlegung war einfach über self.session.nav.getRecordings() die laufenden Aufnahmen abzufragen und dann über serv.info().getInfoString(iServiceInformation.sServiceref) an den Servicereferencestring heranzukommen.

      Leider gibt es jedoch hierbei das Attribut "Info()" nicht.

      Python-Quellcode

      1. self.session.nav.record_event.append(self.requestWrite)
      2. def requestWrite(self, serv = None, evt = None):
      3. if evt == iRecordableService.evStart:
      4. info = serv.info()
      5. serv ERROR<type 'exceptions.AttributeError'>'iRecordableServicePtr' object has no attribute 'info'

      Das will mir einfach nicht gelingen.
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen
    • Ok, da bin ich auch überfragt, aber evt. kannst ja mal bei InfoBarTunerState nachforschen.
      Dort müsste ja Ähnliches realisiert sein.
      Wer einfach Danke sagen und meine Projekte unterstützen möchte: Amazon-Gutschein an - thomas.siegel@ts-myinter.net - ist immer herzlich Willkommen!
      Projekte : VuMatic-Smarthome-Center, VWeather3, AdvancedEventLibrary, TVDbInfo