add arabic to the language list
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 11 Jan 2006 14:23:48 +0000 (14:23 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 11 Jan 2006 14:23:48 +0000 (14:23 +0000)
change plugin interface: plugins can now have screens or functions as objects to call when plugin is selected
plugins can have multiple plugin menu entries

data/countries/ae.png [deleted file]
data/countries/ar.png [new file with mode: 0644]
lib/python/Components/Language.py
lib/python/Components/PluginComponent.py
lib/python/Plugins/update/plugin.py

diff --git a/data/countries/ae.png b/data/countries/ae.png
deleted file mode 100644 (file)
index cdd96ad..0000000
Binary files a/data/countries/ae.png and /dev/null differ
diff --git a/data/countries/ar.png b/data/countries/ar.png
new file mode 100644 (file)
index 0000000..e69de29
index d6e43a5d229f821ef41bfb373334324182a79aae..456fe0264694c3904e6ebda188635cefca68796f 100644 (file)
@@ -11,6 +11,7 @@ class Language:
                # FIXME make list dynamically
                self.addLanguage(_("English"), "en")
                self.addLanguage(_("German"), "de")
                # FIXME make list dynamically
                self.addLanguage(_("English"), "en")
                self.addLanguage(_("German"), "de")
+               self.addLanguage(_("Arabic"), "ar")
 
        def addLanguage(self, name, lang):
                try:
 
        def addLanguage(self, name, lang):
                try:
index 10e1b59d6f6a6a5bc8e0c2b3dcee7122b2cc7228..172e33e32e60732ae65495ed9d0e0fe3cb86a622 100644 (file)
@@ -20,31 +20,32 @@ class PluginComponent:
 
                for x in dir:
                        path = resolveFilename(SCOPE_PLUGINS, x) + "/"
 
                for x in dir:
                        path = resolveFilename(SCOPE_PLUGINS, x) + "/"
-                       try:
-                               if os.path.exists(path):
-                                       if fileExists(path + "plugin.py"):
-                                               pluginmodule = self.prefix + x + ".plugin"
-                                               print "trying to import " + pluginmodule
-                                               exec "import " + pluginmodule
-                                               plugin = eval(pluginmodule)
-                                               picturepath = plugin.getPicturePath()
-                                               pluginname = plugin.getPluginName()
-                                               try:
-                                                       for menuEntry in plugin.getMenuRegistrationList():
-                                                               self.menuEntries.append([menuEntry, pluginmodule])
-                                               except:
-                                                       pass
-               
-                                               list.append((picturepath, pluginname , x))
-                                               if runAutostartPlugins:
-                                                       try: plugin.autostart()
-                                                       except: pass
-                                               if runAutoendPlugins:
-                                                       try: plugin.autoend()
-                                                       except: pass
+                       #try:
+                       if os.path.exists(path):
+                               if fileExists(path + "plugin.py"):
+                                       pluginmodule = self.prefix + x + ".plugin"
+                                       print "trying to import " + pluginmodule
+                                       exec "import " + pluginmodule
+                                       plugin = eval(pluginmodule)
+                                       picturepaths = plugin.getPicturePaths()
+                                       plugins = plugin.getPlugins()
+                                       try:
+                                               for menuEntry in plugin.getMenuRegistrationList():
+                                                       self.menuEntries.append([menuEntry, pluginmodule])
+                                       except:
+                                               pass
+
+                                       for y in range(len(plugins)):
+                                               list.append((path + picturepaths[y], plugins[y][0] , x, plugins[y][1], plugins[y][2]))
+                                       if runAutostartPlugins:
+                                               try: plugin.autostart()
+                                               except: pass
+                                       if runAutoendPlugins:
+                                               try: plugin.autoend()
+                                               except: pass
                                                        
                                                        
-                       except:
-                               print "Directory", path, "contains a faulty plugin"
+                       #except:
+                       #       print "Directory", path, "contains a faulty plugin"
                self.menuUpdate()
                return list
        
                self.menuUpdate()
                return list
        
@@ -57,10 +58,14 @@ class PluginComponent:
                        menuupdater.addMenuItem(menuEntry[0][0], menuEntry[0][2], menuEntry[1], menuEntry[0][3])
        
        def runPlugin(self, plugin, session):
                        menuupdater.addMenuItem(menuEntry[0][0], menuEntry[0][2], menuEntry[1], menuEntry[0][3])
        
        def runPlugin(self, plugin, session):
-               try:
-                       exec "import " + self.prefix + plugin[2] + ".plugin"
-                       eval(self.prefix + plugin[2] + ".plugin").main(session)
-               except:
-                       print "exec of plugin failed!"
+               #try:
+                       exec("import " + self.prefix + plugin[2] + ".plugin")
+                       print self.prefix + plugin[2] + ".plugin." + plugin[4]
+                       if plugin[3] == "screen":
+                               session.open(eval(self.prefix + plugin[2] + ".plugin." + plugin[4]))
+                       elif plugin[3] == "function":
+                               eval(self.prefix + plugin[2] + ".plugin." + plugin[4])(session)
+               #except:
+                       #print "exec of plugin failed!"
 
 plugins = PluginComponent()
 
 plugins = PluginComponent()
index 500b68258a070c72b56bb136137d4ee73da31591..79f6749007495a97637f04c8d52a4913a04c8cd8 100644 (file)
@@ -56,14 +56,11 @@ class Example(Screen):
 #def autoend():
        #print "**************************** AUTOEND"
 
 #def autoend():
        #print "**************************** AUTOEND"
 
-def main(session):
-       session.open(Example)
-       
-def getPicturePath():
-       return "update.png"
+def getPicturePaths():
+       return ["update.png"]
 
 
-def getPluginName():
-       return "Softwareupdate"
+def getPlugins():
+       return [("Softwareupdate", "screen", "Example")]
        
 def getMenuRegistrationList():
        list = []
        
 def getMenuRegistrationList():
        list = []