Thanks: 0
Ergebnis 1 bis 10 von 12
-
17.05.2016, 20:32 #1Pike_BishopGast
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)
/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')
/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,
Code:where = PluginDescriptor.WHERE_EXTENSIONSMENU,
python verzeiht keine Fehler wies aussieht ein Leerzeichen irgendwo zuviel und es gibt Ärger .
Grüsse
Biki3
-
Advertising
-
17.05.2016, 20:46 #2
- Registriert seit
- 05.04.2013
- Beiträge
- 481
- Thanks (gegeben)
- 1409
- Thanks (bekommen)
- 3257
- Total Downloaded
- 295,50 MB
- Total Downloaded
- 295,50 MB
Box 1:AX HD51ohne 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]
-
17.05.2016, 20:58 #3Pike_BishopGast
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
-
17.05.2016, 21:02 #4
- Registriert seit
- 05.04.2013
- Beiträge
- 481
- Thanks (gegeben)
- 1409
- Thanks (bekommen)
- 3257
- Total Downloaded
- 295,50 MB
- Total Downloaded
- 295,50 MB
Box 1:AX HD51hä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]
-
Danke - 1 Thanks- bedankten sich
-
17.05.2016, 21:07 #5
- 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
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereHi 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.hd51, vuduo4se,....
-
Danke - 1 Thanks- bedankten sich
-
17.05.2016, 21:17 #6Pike_BishopGast
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
-
17.05.2016, 21:23 #7
- Registriert seit
- 05.04.2013
- Beiträge
- 481
- Thanks (gegeben)
- 1409
- Thanks (bekommen)
- 3257
- Total Downloaded
- 295,50 MB
- Total Downloaded
- 295,50 MB
Box 1:AX HD51notepad++ 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]
-
Danke - 1 Thanks- bedankten sich
-
17.05.2016, 21:45 #8
- 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
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereGeany 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,....
-
Danke - 1 Thanks- bedankten sich
-
17.05.2016, 21:46 #9Pike_BishopGast
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
-
Danke - 1 Thanks- bedankten sich
-
17.05.2016, 21:50 #10Pike_BishopGast
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.
Wegen Geany Tab Länge 4 Zeichen wär optimal - stimmts ?
Grüsse
Biki3
Lesezeichen