From 1cbbb4e5bec3514ef2d7d6d4437fe39da12d5b08 Mon Sep 17 00:00:00 2001 From: epage Date: Sat, 7 Feb 2009 16:25:25 +0000 Subject: [PATCH] Random bug fixes while trying to get this out the door git-svn-id: file:///svnroot/ejpi/trunk@12 df6cc7de-23d0-4ae0-bb86-c17aa67b2a9d --- Makefile | 2 ++ src/ejpi_glade.py | 23 ++++++++++++++--------- src/plugin_utils.py | 2 +- support/builddeb.py | 3 ++- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index e3ffa63..4fd8b54 100644 --- 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) diff --git a/src/ejpi_glade.py b/src/ejpi_glade.py index 2ceaee6..b131347 100755 --- a/src/ejpi_glade.py +++ b/src/ejpi_glade.py @@ -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) diff --git a/src/plugin_utils.py b/src/plugin_utils.py index d01b4dc..62cb727 100644 --- a/src/plugin_utils.py +++ b/src/plugin_utils.py @@ -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) diff --git a/support/builddeb.py b/support/builddeb.py index 3a6de72..d3930e9 100755 --- a/support/builddeb.py +++ b/support/builddeb.py @@ -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"] -- 1.7.9.5