iServiceInformation.sServiceref bei Aufnahmen ermitteln

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • 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?

      Display Spoiler

      Python Source Code

      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))
      Display All

      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

      The post was edited 1 time, last by hajeku123 ().

    • Ungetestet, aber vielleicht hilft es dir weiter.

      Python Source Code

      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 Source Code

      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)

      The post was edited 1 time, last by 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 Source Code

      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