--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/actions.py Sat Dec 27 20:23:39 2008 -0500
@@ -0,0 +1,32 @@
+import imp
+import sys
+import os
+
+
+class ActionsLoader:
+ def __init__(self):
+ self._actions = {}
+ def keys(self):
+ return self._actions.keys()
+ def _getmodule(self, name):
+ modpath = os.path.join(os.path.dirname(__file__), 'actions')
+ fp, pathname, description = imp.find_module(name, [modpath])
+ try:
+ return imp.load_module(name, fp, pathname, description)
+ finally:
+ if fp:
+ fp.close()
+ def __getitem__(self, item):
+ mname, fname = self._actions[item]
+ return self._getmodule(mname).__dict__[fname]
+ def __setitem__(self, key, value):
+ self._actions[key] = value
+
+
+actions = ActionsLoader()
+actions['default'] = ('index', 'do_it')
+actions['index'] = ('index', 'do_it')
+actions['edit'] = ('edit', 'do_it')
+actions['import'] = ('imp_xbel', 'do_it')
+actions['add'] = ('add', 'do_it')
+actions['confirm'] = ('add', 'do_it')