[Erp5-report] r43967 nicolas - /erp5/trunk/utils/cloudooo/cloudooo/paster_application.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Mar 4 12:02:41 CET 2011


Author: nicolas
Date: Fri Mar  4 12:02:41 2011
New Revision: 43967

URL: http://svn.erp5.org?rev=43967&view=rev
Log:
Do not duplicate configuration options:
mimetype_registry configuration option is enough to bootstrap Handlers used
by cloudooo application. handler_mapping option is ignored.


Modified:
    erp5/trunk/utils/cloudooo/cloudooo/paster_application.py

Modified: erp5/trunk/utils/cloudooo/cloudooo/paster_application.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/paster_application.py?rev=43967&r1=43966&r2=43967&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/paster_application.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/paster_application.py [utf8] Fri Mar  4 12:02:41 2011
@@ -113,16 +113,15 @@ def application(global_config, **local_c
   openoffice.release()
   mimetype_registry = local_config.get("mimetype_registry", "")
   kw["mimetype_registry"] = filter(None, mimetype_registry.split("\n"))
-  kw["handler_dict"] = {}
-  handler_mapping_list = local_config.get("handler_mapping", "").split("\n")
-  for line in filter(None, handler_mapping_list):
-    handler_name, object_name = line.strip().split()
-    import_name = "cloudooo.handler.%s.handler" % handler_name
-    if import_name not in sys.modules:
-      __import__(import_name)
-    handler = sys.modules[import_name]
-    kw["handler_dict"][handler_name] = getattr(handler, object_name)
-
+  handler_dict = {}
+  handler_mapping_list = mimetype_registry.split("\n")
+  for line in handler_mapping_list:
+    input_mimetype, output_mimetype, handler = line.strip().split()
+    if handler not in handler_dict:
+      import_path = "cloudooo.handler.%s.handler" % handler
+      module = __import__(import_path, globals(), locals(), [''])
+      handler_dict[handler] = module.Handler
+  kw['handler_dict'] = handler_dict
   kw["env"] = environment_dict
   from manager import Manager
   cloudooo_manager = Manager(cloudooo_path_tmp_dir, **kw)



More information about the Erp5-report mailing list