Thanks Thanks:  0
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12
  1. #1
    Pike_Bishop
    Gast

    Extensions/MyPlugin ('module' object has no attribute 'Plugins')

    Hi,

    Wollte mal ein bisschen mit python spielen um mal langsam zu verstehen wie das abläuft mit den Plugins
    , dazu hab ich diesen Code aus ner .pdf im Netz gefunden (hab daran aber schon ein bisschen herumgedoktort);
    Code:
    # Ihad.tv enigma2-plugin tutorial 2010 
    # lesson 3 
    # by emanuel 
    import os
    import enigma
    from Screens.MessageBox import MessageBox
    from Screens.Screen import Screen
    from Components.ActionMap import ActionMap
    from Components.Label import Label
    from Plugins.Plugin import PluginDescriptor
    
    ########################################################################### 
    
    class CallMyMsg(Screen): 
        skin = """ 
            <screen position="130,150" size="460,150" title="Ihad.tv tutorial e2-tutorial lesson 3" > 
            <widget name="myLabel" position="10,60" size="400,120"font="Regular;20"/> 
            </screen>""" 
    
        def __init__(self, session, args = 0): 
                self.session = session 
                Screen.__init__(self, session) 
    
                self["myLabel"] = Label(_("please press OK to select")) 
                self["myActionMap"] = ActionMap(["SetupActions"], 
                { 
                        "ok": self.myMsg, 
                        "cancel": self.cancel 
                }, -1) 
    
        def callMyMsg(self, result): 
                print "\n[CallMyMsg] checking result\n" 
                if result: 
                        print "\n[CallMyMsg] cancel\n" 
                        self.close(None) 
                else: 
                        self.session.open(MessageBox,_("Ah, you like the Ihadplugin!\n;-)"), MessageBox.TYPE_INFO) 
    
        def myMsg(self): 
                print "\n[CallMyMsg] OK pressed \n" 
                self.session.openWithCallback(self.callMyMsg, MessageBox, _("Do you want to exit the plugin?"), MessageBox.TYPE_YESNO)
    
        def cancel(self): 
                print "\n[CallMyMsg] cancel\n" 
                self.close(None) 
    
    ########################################################################### 
     
        def main(session, **kwargs):
                print "\n[CallMyMsg] start\n" 
                session.open(CallMyMsg) 
    
    ########################################################################### 
     
        def Plugins(**kwargs):
                return PluginDescriptor(
                    #name="03 Call My Msg",
                    #description="lesson 3 - Ihad.tv e2-tutorial",
                    #where = PluginDescriptor.WHERE_PLUGINMENU,
                    #icon="../ihad_tut.png",
                    #fnc=main)
                name=_("03 Call My Msg"),
                description = _("only a test"),
                where = PluginDescriptor.WHERE_PLUGINMENU,
                #icon = 'plugin.png',
                fnc=main)
    So nun hab ich das soweit das nach nem Neustart der Box auch ne plugin.pyo unter;
    /usr/lib/enigma2/python/Plugins/Extensions/MyPlugin
    gebaut wird, aber es bleibt ein Problem bestehen nämlich;
    Einige Plugins sind nicht verfügbar:
    Extensions/MyPlugin ('module' object has no attribute 'Plugins')
    Soweit ich glaube hängt das mit dem Import vom PluginDescriptor zusammen also der;
    /usr/lib/enigma2/python/Plugins/Plugin.py bzw. pyo dann eben.

    Wo is der Fehler ?

    Hab auch schon in Zeile 64 statt;
    Code:
    where = PluginDescriptor.WHERE_PLUGINMENU,
    das folgende versucht;
    Code:
    where = PluginDescriptor.WHERE_EXTENSIONSMENU,
    aber klappt genauso wenig.

    python verzeiht keine Fehler wies aussieht ein Leerzeichen irgendwo zuviel und es gibt Ärger .


    Grüsse
    Biki3

    •   Alt Advertising

       

  2. #2
    Avatar von madie
    Registriert seit
    05.04.2013
    Beiträge
    481
    Thanks (gegeben)
    1409
    Thanks (bekommen)
    3257
    Total Downloaded
    295,50 MB
    Total Downloaded
    295,50 MB
    ReceiverDanke
    Box 1:
    AX HD51
     
     
    ohne jetzt genau geschaut zu haben. eine __init__.py hast erstellt?

    deine formatierung scheint mir auch nicht zu stimmen. einrückungen beachtet? leerzeichen oder tabs benutzt?
    Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du übers Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.[/CENTER]

  3. #3
    Pike_Bishop
    Gast
    Hi madie,
    Ja die __init__.py hab ich erstellt ne leere und die __init__.pyo wird ja auch gebaut dann beim Neustart.

    Ja die Einrückungen (ich weiss das is da sehr heikel bei python) hab tabs verwendet
    is halt so der Code war in nem .pdf und da was rauszukopieren so das es passt in der plugin.py ...
    na ja musste das eh alles anpassen erstmal, aber ich schau nochmal.


    Grüsse
    Biki3

  4. #4
    Avatar von madie
    Registriert seit
    05.04.2013
    Beiträge
    481
    Thanks (gegeben)
    1409
    Thanks (bekommen)
    3257
    Total Downloaded
    295,50 MB
    Total Downloaded
    295,50 MB
    ReceiverDanke
    Box 1:
    AX HD51
     
     
    häng mal an hier die plugin.py
    Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du übers Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.[/CENTER]

  5. Thanks - bedankten sich
  6. #5
    Avatar von betacentauri
    Registriert seit
    15.06.2013
    Beiträge
    2.359
    Thanks (gegeben)
    287
    Thanks (bekommen)
    1399
    Total Downloaded
    1,32 MB
    Total Downloaded
    1,32 MB
    ReceiverDanke
    Box 1:
    hd51
     
     
    Box 2:
    vuduo4kse
     
     
    Box 3:
    und noch 20-30 andere
     
     
    Hi Biki3,

    ich hab das mal umformatiert und ein paar Kleinigkeiten geändert (skin Zeile). Jetzt läuft es erstmal.

    Ganz wichtig ist bei Python die Formatierung. Deswegen such dir ein Editor, der Leerzeichen und Tabs anzeigen kann. Dann schau dir viele Beispiele an. Ein einziges Leerzeichen kann schon ein Problem sein.
    Angehängte Dateien Angehängte Dateien
    hd51, vuduo4se,....

  7. Thanks - bedankten sich
  8. #6
    Pike_Bishop
    Gast
    Hi,

    Erstmal Danke ihr zwei

    Super @betacentauri dann kann ich ja mal gleich vergleichen.
    Ja ich wollte ein schnelles Ergebnis so hab ich das unter Win mit Notepad++ gemacht (wollte nicht erst ein Linux hochfahren).
    Muss ja aber auch für Win nen ordentlichen Editor diesbzgl. geben ich schau mal was Notepad++ so kann - läuft ja nur mit den defaults hier.
    Das mit den Leerzeichen und Tabs wird schwierig bin ja vom Scripten gewöht das man das halten kann wie man will - da werd ich mal etwas üben in Zukunft daran.
    Beispiele seh ich mir eh durch, versteh aber derweil eher nicht viel bis nix davon.

    Die skin section, ja das stellt klar für mich eine zusätzliche Hürde dar da ich mit Skins nix am Hut habe.


    Grüsse
    Biki3

  9. #7
    Avatar von madie
    Registriert seit
    05.04.2013
    Beiträge
    481
    Thanks (gegeben)
    1409
    Thanks (bekommen)
    3257
    Total Downloaded
    295,50 MB
    Total Downloaded
    295,50 MB
    ReceiverDanke
    Box 1:
    AX HD51
     
     
    notepad++ kann das auch. ansicht -> nicht druckbare zeichen anzeigen.
    Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du übers Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.[/CENTER]

  10. Thanks - bedankten sich
  11. #8
    Avatar von betacentauri
    Registriert seit
    15.06.2013
    Beiträge
    2.359
    Thanks (gegeben)
    287
    Thanks (bekommen)
    1399
    Total Downloaded
    1,32 MB
    Total Downloaded
    1,32 MB
    ReceiverDanke
    Box 1:
    hd51
     
     
    Box 2:
    vuduo4kse
     
     
    Box 3:
    und noch 20-30 andere
     
     
    Geany ist auch mein Favourit, da man da auch die Tablänge(also wie lang der Tab ist) einstellen kann. Ich arbeite aber auch, wenn ich was für e2 mache, fast ausschließlich nur mit Linux. Auf jeden Fall kann es nicht jeder Editor. Musste unter Linux schon länger suchen.

    An die Formatierung muss man sich nur gewöhnen. Wichtig ist auch noch, dass man wenn es irgendwie geht für die Einrückungen nur Leerzeichen oder nur Tabs verwendet. Man kann zwar mischen, aber selbst bei einem guten Editor wird es dann sehr schnell unübersichtlich.
    hd51, vuduo4se,....

  12. Thanks - bedankten sich
  13. #9
    Pike_Bishop
    Gast
    Hi,

    Danke Euch Beiden !

    Ja ich hab ja eh Linux am PC sogar dreimal auf einen PC, aber zwei davon sind hoffnungslos veraltet
    (bin auch wirklich seit Langem schon zu faul da was neues aufzusetzen) und das dritte is nur rein ein Linux für nen VDR
    das hab ich erst vor Kurzem aufgesetzt war zwar ne quasi fertig VDR Distri (yavdr) aber bis ich die soweit hatte
    wie ich das will is auch einige Zeit den Bach runter geflossen - und nun hab ich vom Aufsetzen erstmal wieder ne Weile genug (aber kommt auch mal wieder).
    Dann seh ich mir auch den LieblingsEditor von @sgs den Geany mal an.

    @madie Danke nochmal die Umstellung in Notepad++ grade gemacht - und ja das is hilfreich.


    Grüsse
    Biki3

  14. Thanks - bedankten sich
  15. #10
    Pike_Bishop
    Gast
    Hi betacentauri,

    An die Formatierung muss man sich nur gewöhnen. Wichtig ist auch noch, dass man wenn es irgendwie geht für die Einrückungen nur Leerzeichen oder nur Tabs verwendet.
    Ja da werd ich mich lieber für Tabs entscheiden denke ich - mischen will ich keinesfalls.
    Wegen Geany Tab Länge 4 Zeichen wär optimal - stimmts ?


    Grüsse
    Biki3


Seite 1 von 2 12 LetzteLetzte

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 Uhr.
Powered by vBulletin® Version 4.2.5 (Deutsch)
Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.
Resources saved on this page: MySQL 5,26%
Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)
vBulletin Skin By: PurevB.com