[Erp5-report] r37863 aurel - /erp5/trunk/products/ERP5/Tool/TemplateTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Aug 17 12:50:47 CEST 2010


Author: aurel
Date: Tue Aug 17 12:50:38 2010
New Revision: 37863

URL: http://svn.erp5.org?rev=37863&view=rev
Log:
add new methods usable to filter diff

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=37863&r1=37862&r2=37863&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/TemplateTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/TemplateTool.py [utf8] Tue Aug 17 12:50:38 2010
@@ -617,6 +617,35 @@ class TemplateTool (BaseTool):
       if hasattr(outfile, 'getvalue'):
         return outfile.getvalue()
 
+    def getDiffFilterScriptList(self):
+      """
+      Return list of scripts usable to filter diff
+      """
+      # XXX-Aurel : this will be removed in a near future when script
+      # will be configurable on the tool
+      return [getattr(self, 'TemplateTool_filterTupleDiff'),]
+
+    def getFilteredDiffAsHTML(self, diff):
+      """
+      Return the diff filtered by python scripts into html format
+      """
+      return self.getFilteredDiff(diff).toHTML()
+
+    def getFilteredDiff(self, diff):
+      """
+      Filter the diff using python scripts
+      """
+      diff_file_object = DiffFile(diff)
+      diff_block_list = diff_file_object.getModifiedBlockList()
+      if len(diff_block_list):
+        for script in self.getDiffFilterScriptList():
+          for block, line_tuple in diff_block_list:
+            if script(line_tuple[0], line_tuple[1]):
+              diff_file_object.children.remove(block)
+      # XXX-Aurel : this method should return a text diff but
+      # DiffFile does not provide yet such feature
+      return diff_file_object
+
     def diffObjectAsHTML(self, REQUEST, **kw):
       """
         Convert diff into a HTML format before reply




More information about the Erp5-report mailing list