[Erp5-report] r43752 gabriel - /erp5/trunk/utils/cloudooo/cloudooo/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Feb 25 15:45:41 CET 2011
Author: gabriel
Date: Fri Feb 25 15:45:41 2011
New Revision: 43752
URL: http://svn.erp5.org?rev=43752&view=rev
Log:
refactor to load handlers only once
Modified:
erp5/trunk/utils/cloudooo/cloudooo/manager.py
erp5/trunk/utils/cloudooo/cloudooo/paster_application.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/manager.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/manager.py?rev=43752&r1=43751&r2=43752&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/manager.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/manager.py [utf8] Fri Feb 25 15:45:41 2011
@@ -47,16 +47,14 @@ def getHandlerObject(source_format, dest
"""Select handler according to source_format and destination_format"""
source_mimetype = mimetypes.types_map.get('.%s' % source_format, "*")
destination_mimetype = mimetypes.types_map.get('.%s' % destination_format, "*")
+ # XXX - Find one way to don't need use iteration to find the handler
for pattern in mimetype_registry:
registry_list = pattern.split()
if fnmatch(source_mimetype, registry_list[0]) and \
(fnmatch(destination_mimetype, registry_list[1]) or destination_format is None):
handler_name = registry_list[2]
- import_name = "cloudooo.handler.%s.handler" % handler_name
- if import_name not in sys.modules:
- __import__(import_name)
- handler = sys.modules[import_name]
- return getattr(handler, handler_dict[registry_list[2]])
+ handler = sys.modules[handler_name]
+ return getattr(handler, handler_dict[handler_name])
class Manager(object):
Modified: erp5/trunk/utils/cloudooo/cloudooo/paster_application.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/paster_application.py?rev=43752&r1=43751&r2=43752&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/paster_application.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/paster_application.py [utf8] Fri Feb 25 15:45:41 2011
@@ -30,6 +30,7 @@ import gc
from signal import signal, SIGINT, SIGQUIT, SIGHUP
from os import path, mkdir
import os
+import sys
import cloudooo.handler.ooo.monitor as monitor
from cloudooo.handler.ooo.application.openoffice import openoffice
from cloudooo.wsgixmlrpcapplication import WSGIXMLRPCApplication
@@ -110,14 +111,19 @@ def application(global_config, **local_c
mimemapper.loadFilterList(application_hostname,
openoffice_port, **kw)
openoffice.release()
- kw["mimetype_registry"] = filter(None,
- local_config.get("mimetype_registry",
- "").split("\n"))
+ mimetype_registry_str = local_config.get("mimetype_registry")
kw["handler_dict"] = {}
handler_mapping_list = local_config.get("handler_mapping", "").split("\n")
for line in filter(None, handler_mapping_list):
- key, value = line.strip().split()
- kw["handler_dict"][key] = value
+ handler_name, object_name = line.strip().split()
+ import_name = "cloudooo.handler.%s.handler" % handler_name
+ mimetype_registry_str = mimetype_registry_str.replace(handler_name,
+ import_name)
+ if import_name not in sys.modules:
+ __import__(import_name)
+ kw["handler_dict"][import_name] = object_name
+
+ kw["mimetype_registry"] = filter(None, mimetype_registry_str.split("\n"))
kw["env"] = environment_dict
from manager import Manager
More information about the Erp5-report
mailing list