[Erp5-report] r40072 jm - /erp5/trunk/products/ERP5/Tool/TemplateTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Nov 8 20:15:56 CET 2010


Author: jm
Date: Mon Nov  8 20:15:56 2010
New Revision: 40072

URL: http://svn.erp5.org?rev=40072&view=rev
Log:
TemplateTool: do not fail if filter is missing

Modified:
    erp5/trunk/products/ERP5/Tool/TemplateTool.py

Modified: erp5/trunk/products/ERP5/Tool/TemplateTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/TemplateTool.py?rev=40072&r1=40071&r2=40072&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/TemplateTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/TemplateTool.py [utf8] Mon Nov  8 20:15:56 2010
@@ -56,7 +56,7 @@ import cPickle
 import posixpath
 from base64 import b64encode, b64decode
 from Products.ERP5Type.Message import translateString
-from zLOG import LOG, INFO
+from zLOG import LOG, INFO, WARNING
 from base64 import decodestring
 import subprocess
 
@@ -637,9 +637,14 @@ class TemplateTool (BaseTool):
       # inconsistent, the called method should not return None when
       # nothing is selected
       portal = self.getPortalObject()
-      script_id_list = portal.portal_preferences\
-        .getPreferredDiffFilterScriptIdList() or ()
-      return [getattr(portal, x) for x in script_id_list]
+      script_list = []
+      for script_id in portal.portal_preferences\
+         .getPreferredDiffFilterScriptIdList() or ():
+        try:
+          script_list.append(getattr(portal, script_id))
+        except AttributeError:
+          LOG("TemplateTool", WARNING, "Unable to find %r script" % script_id)
+      return script_list
 
     def getFilteredDiffAsHTML(self, diff):
       """




More information about the Erp5-report mailing list