diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2005-12-21 05:16:20 +0000 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2005-12-21 05:16:20 +0000 |
| commit | 7fe27f601f70eddb3019e22cbdb8388c05d3af7e (patch) | |
| tree | d387eeeb695859e97974104a26f0ae5b2f516767 /lib | |
| parent | ccb8d260ed5e51f6f65205be04744a9e8322aa6f (diff) | |
| download | enigma2-7fe27f601f70eddb3019e22cbdb8388c05d3af7e.tar.gz enigma2-7fe27f601f70eddb3019e22cbdb8388c05d3af7e.zip | |
add a small ipkg upgrade plugin
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/python/Components/PluginComponent.py | 7 | ||||
| -rw-r--r-- | lib/python/Plugins/Makefile.am | 3 | ||||
| -rw-r--r-- | lib/python/Plugins/update.py | 42 |
3 files changed, 49 insertions, 3 deletions
diff --git a/lib/python/Components/PluginComponent.py b/lib/python/Components/PluginComponent.py index 26382063..f1a0a95a 100644 --- a/lib/python/Components/PluginComponent.py +++ b/lib/python/Components/PluginComponent.py @@ -27,7 +27,10 @@ class PluginComponent: return list def runPlugin(self, plugin, session): - exec "import " + self.prefix + plugin[2] - eval(self.prefix + plugin[2]).main(session) + try: + exec "import " + self.prefix + plugin[2] + eval(self.prefix + plugin[2]).main(session) + except: + print "exec of plugin failed!" plugins = PluginComponent() diff --git a/lib/python/Plugins/Makefile.am b/lib/python/Plugins/Makefile.am index d963b3c0..febecab4 100644 --- a/lib/python/Plugins/Makefile.am +++ b/lib/python/Plugins/Makefile.am @@ -2,4 +2,5 @@ installdir = $(LIBDIR)/enigma2/python/Plugins install_PYTHON = \ __init__.py \ - example.py
\ No newline at end of file + update.py \ +# example.py diff --git a/lib/python/Plugins/update.py b/lib/python/Plugins/update.py new file mode 100644 index 00000000..7126875b --- /dev/null +++ b/lib/python/Plugins/update.py @@ -0,0 +1,42 @@ +from enigma import * +from Screens.Screen import Screen +from Components.ActionMap import ActionMap +from Components.Label import Label + +import os + +class Example(Screen): + skin = """ + <screen position="100,100" size="550,400" title="IPKG upgrade..." > + <widget name="text" position="0,0" size="550,400" font="Arial;15" /> + </screen>""" + + def __init__(self, session): + self.skin = Example.skin + Screen.__init__(self, session) + + self["text"] = Label("Press OK to upgrade") + + self["actions"] = ActionMap(["WizardActions"], + { + "ok": self.ok, + "back": self.close + }, -1) + + def ok(self): + lines = os.popen("ipkg update && ipkg upgrade", "r").readlines() + string = "" + for x in lines: + string += x + self["text"].setText(string) + + +def main(session): + session.open(Example) + + +def getPicturePath(): + return "" + +def getPluginName(): + return "Softwareupdate"
\ No newline at end of file |
