Provider Name von serviceref ?

  • Hi !


    Ich bräuchte für das AutoPin Plugin damit es auch Provider unterstützt eine simple routine um für eine serviceref (egal ob gerade geschaut, vom PIP oder recorded) den ProviderNamen zu bekommen.


    Soweit habe ich mich von der ServiceInfo.py ja inspirieren lassen um meine eigene getServiceInfoValue zu haben:


    Code
    def getServiceInfoValue(self, info, what, ref=None):
        	if info is None:               	
                	return ""                   	
        	v = ref and info.getInfo(ref, what) 	
        	if v != iServiceInformation.resIsString:	
                	return "N/A"                    	
        	return ref and info.getInfoString(ref, what)


    Aufgerufen wird das z.B. für das gerade geschaute so:


    Code
    serviceref = self.session.nav.getCurrentlyPlayingServiceReference() 
       info = eServiceCenter.getInstance().info(serviceref)  
       print self.getServiceInfoValue(info,iServiceInformation.sProvider,serviceref)


    das print gibt aber immer N/A zurück obwohl das Kanäle von einem Provider sind ?


    Was mache ich falsch :angry_face:

  • OK, aber warum geht der code dann in den Kanal Infos ?


    Aber danke wenn es gefixed wird.


    Ich habe es aber sowieso nicht eilig das ins CI Assignment Plus vom AutoPin einzubauen, ich habe eh schon alle Kanäle mit der serviceref in der ciX.xml drinnen.


    PS: ich habe es schon vor Jahren aufgegeben mich für meinen Code zu schämen :grinning_squinting_face:

  • ach so, deswegen hat es immer nach der serviceref als 3. Argument verlangt und dann aber scheinbar ignoriert.


    Dann warte ich halt mal ...


    Es wäre zwar leicht aus der lamedb zu holen, aber wenn ich die immer durchlesen muss bis ich den sender finde ist das fade.

  • Ich glaub, die info hatte ich auch mal versucht abzufragen. Bin aber natürlici immer von einem fehler meinerseits ausgegangen.

    Gruss
    Dre


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

  • Vielleicht mit wget als workaround über das Web-If abfragen bis das implementiert ist? Sauber ist es zwar nicht, aber man bekommt wenigstens die Info ...


    etwa so

    Code
    wget -qO- http://localhost/web/getcurrent|grep providername|tail -n 1|sed 's/e2eventprovidername\|<\|>\|\///g'|awk '{print $1}'

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Ghost hat ja geschrieben das es für den aktiven sender ja funktionieren würde, ich bräuchte es aber auch für PiP und die serviceref beim recording, da ist das wbif ziemlich nutzlos


    Und nochmals, wenn du mit dem Kanalnamen in der lamedb suchst dann ist das p:xxxx in der nächsten Zeile der provider.


    Insofern wäre das kein Problem einen Workaround zu stricken der auch für andere serviceref als die aktive funktioniert, aber da warte ich lieber bis Ghost das gefixed hat weil wie schon gesagt ich habe im Moment schon alle sender mit der service ref in der ciX.xml womit ich die Providerzuordnung gar nicht brauche, sobald es gefixed ist baue ich das halt auch noch ins CI Assignment Plus ein.


    Ich habs nicht eilig ...

    Einmal editiert, zuletzt von Lost in Translation ()

  • Moin!


    Auch wenn es nur indirekt etwas mit dem Thread Thema zu tun hat, lohnt sich ein eigener Thread nicht.
    Die CI Zuweisung scheint einen kleinen BUG zu haben.
    Wenn man in der Kanalliste mit Alternativen arbeitet und einen solchen Eintrag auswählt wird in der ciX.xml der Eintrag 1:1 aus dem Bouquets so übernommen. Also mit der 1:134:….
    Verlässt man nun das Menü kommt es zu GS.


    und Enigma2 kann nicht mehr durchstarten und bricht ab.
    Enigma2 kann dann nur durch entfernen des Eintrags bzw. Korrektur des Eintrags auf einen korrekten Eintrag wieder hergestellt werden.


    Ob das auch bei OE2.0 schon so war kann ich jetzt nicht sagen, da ich mir nicht sicher bin, dass dort in dieser Kombination schon genutzt hatte.

  • das war schon immer so das du dir mit einer kaputten ciX.xml (und ja ich habs auch ein paar mal geschafft wenn ich zu viele Sender auf einmal hinzugefügt habe) das enigma2 zum Crashen bringen kannst. Ich lösch dann immer das entstrechende ciX.xml und fange von vorne an, aber das würde auch gefixed gehören, weil es kann nicht sein dass da Müll reingeschrieben wird der dann zum Absturz führt.

  • Moin!


    Deswegen habe ich es erwähnt.
    Eigentlich sollte, wenn ein Alternative entdeckt wird ein Eintrag aus dem dazugehörigen Bouquets gewählt werden müssen.
    Leider kann man in der Kanalliste ja nicht ohne weiteres erkennen, wo man Alternativen eingerichtet hat.
    Nur über den Umweg Menü - ...

  • Deswegen wollte ich auch auf Provider zuordnen umsteigen, das crasht nicht soweit ich gesehen habe.


    ABER ich muss dann eben in der Lage sein in Python schnell die servicerefzu checken ob sie zu einem Provider gehört - womit wir wieder bei diesem Thread wären.