From 41178d3741b43444b663ac3244d8bfbcd7eb5483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com> Date: Thu, 17 Nov 2005 16:47:34 +0000 Subject: [PATCH] add diff for document, property sheet, extension, and test git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@4350 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Tool/TemplateTool.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py index 2969e094ba..39dee002c7 100755 --- a/product/ERP5/Tool/TemplateTool.py +++ b/product/ERP5/Tool/TemplateTool.py @@ -362,6 +362,7 @@ class TemplateTool (BaseTool): bt2.edit(description='tmp bt generated for diff') # separate item because somes are exported with zope exportXML and other with our own method + # and others are just python code on filesystem diff_msg = 'Diff between %s-%s and %s-%s' %(bt1.getTitle(), bt1.getId(), bt2.getTitle(), bt2.getId()) # for the one with zope exportXml item_list_1 = ['_product_item', '_workflow_item', '_portal_type_item', '_category_item', '_path_item', '_skin_item', '_action_item'] @@ -407,6 +408,25 @@ class TemplateTool (BaseTool): if len(diff_list) != 0: diff_msg += '\n\nObject %s diff :\n' %(key) diff_msg += '\n'.join(diff_list) + + # for document located on filesystem + item_list_3 = ['_document_item', '_property_sheet_item', '_extension_item', '_test_item'] + for item_name in item_list_3: + item1 = getattr(bt1, item_name) + # build current item if we compare to installed bt + if compare_to_installed: + getattr(bt2, item_name).build(bt2) + item2 = getattr(bt2, item_name) + for key in item1._objects.keys(): + if item2._objects.has_key(key): + obj1_code = item1._objects[key] + obj2_code = item2._objects[key] + ob1_lines = obj1_code.splitlines() + ob2_lines = obj2_code.splitlines() + diff_list = list(unified_diff(ob1_lines, ob2_lines, fromfile=bt1.getId(), tofile=bt2.getId(), lineterm='')) + if len(diff_list) != 0: + diff_msg += '\n\nObject %s diff :\n' %(key) + diff_msg += '\n'.join(diff_list) if compare_to_installed: self.manage_delObjects(ids=['installed_bt']) -- 2.30.9