Random bug fixes while trying to get this out the door
authorepage <eopage@byu.net>
Sat, 7 Feb 2009 16:25:25 +0000 (16:25 +0000)
committerepage <eopage@byu.net>
Sat, 7 Feb 2009 16:25:25 +0000 (16:25 +0000)
git-svn-id: file:///svnroot/ejpi/trunk@12 df6cc7de-23d0-4ae0-bb86-c17aa67b2a9d

Makefile
src/ejpi_glade.py
src/plugin_utils.py
support/builddeb.py

index e3ffa63..4fd8b54 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
 PROJECT_NAME=ejpi
 SOURCE_PATH=src
 SOURCE=$(shell find $(SOURCE_PATH) -iname *.py)
+DATA=$(shell find $(SOURCE_PATH) -iname *.ini) $(shell find $(SOURCE_PATH) -iname *.map)
 OBJ=$(SOURCE:.py=.pyc)
 TAG_FILE=~/.ctags/$(PROJECT_NAME).tags
 BUILD_PATH=./build/
@@ -35,6 +36,7 @@ package:
        mkdir $(BUILD_PATH)
        cp $(SOURCE_PATH)/$(PROJECT_NAME).py  $(BUILD_PATH)
        cp $(SOURCE_PATH)/$(PROJECT_NAME).glade  $(BUILD_PATH)
+       $(foreach file, $(DATA), cp $(file) $(BUILD_PATH)/$(subst /,-,$(file)) ; )
        $(foreach file, $(SOURCE), cp $(file) $(BUILD_PATH)/$(subst /,-,$(file)) ; )
        cp support/$(PROJECT_NAME).desktop $(BUILD_PATH)
        cp support/builddeb.py $(BUILD_PATH)
index 2ceaee6..b131347 100755 (executable)
@@ -147,7 +147,8 @@ class Calculator(object):
        ]
 
        _plugin_search_paths = [
-               os.path.join(os.path.dirname(__file__), "plugins/")
+               "/usr/lib/ejpi/plugins/",
+               os.path.join(os.path.dirname(__file__), "plugins/"),
        ]
 
        _user_data = os.path.expanduser("~/.%s/" % __app_name__)
@@ -157,17 +158,21 @@ class Calculator(object):
        def __init__(self):
                self.__constantPlugins = plugin_utils.ConstantPluginManager()
                self.__constantPlugins.add_path(*self._plugin_search_paths)
-               self.__constantPlugins.enable_plugin(self.__constantPlugins.lookup_plugin("Builtin"))
-               self.__constantPlugins.enable_plugin(self.__constantPlugins.lookup_plugin("Trigonometry"))
-               self.__constantPlugins.enable_plugin(self.__constantPlugins.lookup_plugin("Computer"))
-               self.__constantPlugins.enable_plugin(self.__constantPlugins.lookup_plugin("Alphabet"))
+               for pluginName in ["Builtin", "Trigonometry", "Computer", "Alphabet"]:
+                       try:
+                               pluginId = self.__constantPlugins.lookup_plugin(pluginName)
+                               self.__constantPlugins.enable_plugin(pluginId)
+                       except:
+                               warnings.warn("Failed to load plugin %s" % pluginName)
 
                self.__operatorPlugins = plugin_utils.OperatorPluginManager()
                self.__operatorPlugins.add_path(*self._plugin_search_paths)
-               self.__operatorPlugins.enable_plugin(self.__operatorPlugins.lookup_plugin("Builtin"))
-               self.__operatorPlugins.enable_plugin(self.__operatorPlugins.lookup_plugin("Trigonometry"))
-               self.__operatorPlugins.enable_plugin(self.__operatorPlugins.lookup_plugin("Computer"))
-               self.__operatorPlugins.enable_plugin(self.__operatorPlugins.lookup_plugin("Alphabet"))
+               for pluginName in ["Builtin", "Trigonometry", "Computer", "Alphabet"]:
+                       try:
+                               pluginId = self.__operatorPlugins.lookup_plugin(pluginName)
+                               self.__operatorPlugins.enable_plugin(pluginId)
+                       except:
+                               warnings.warn("Failed to load plugin %s" % pluginName)
 
                self.__keyboardPlugins = plugin_utils.KeyboardPluginManager()
                self.__keyboardPlugins.add_path(*self._plugin_search_paths)
index d01b4dc..62cb727 100644 (file)
@@ -104,7 +104,7 @@ class PluginManager(object):
                        yield id, pluginData["name"], pluginData["version"], pluginData["description"]
 
        def enable_plugin(self, id):
-               assert id in self._plugins
+               assert id in self._plugins, "Can't find plugin %s in the search path %r" % (id, self.__searchPaths)
                self._load_module(id)
                self._enabled.add(id)
 
index 3a6de72..d3930e9 100755 (executable)
@@ -8,7 +8,7 @@ __description__ = "RPN Calculator"
 __author__ = "Ed Page"
 __email__ = "eopage@byu.net"
 __version__ = "0.9.0"
-__build__ = 0
+__build__ = 2
 __changelog__ = '''\
 0.9.0 - "Feed is for horses, so what about feedback?"
 * Initial public release
@@ -76,6 +76,7 @@ if __name__ == "__main__":
                        for (oldName, newName) in files
                )
        p["/usr/share/applications/hildon"] = ["ejpi.desktop"]
+       p["/usr/lib/ejpi"] = ["gc_dialer.glade"]
        # p["/usr/share/icons/hicolor/26x26/hildon"] = ["26x26-dialcentral.png|dialcentral.png"]
        # p["/usr/share/icons/hicolor/64x64/hildon"] = ["64x64-dialcentral.png|dialcentral.png"]
        # p["/usr/share/icons/hicolor/scalable/hildon"] = ["scale-dialcentral.png|dialcentral.png"]