[Erp5-report] r36984 nicolas - /erp5/trunk/utils/erp5diff/ERP5Diff.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jul 8 15:55:59 CEST 2010


Author: nicolas
Date: Thu Jul  8 15:55:58 2010
New Revision: 36984

URL: http://svn.erp5.org?rev=36984&view=rev
Log:
Exclude comments or processing instruction as sibling node

Modified:
    erp5/trunk/utils/erp5diff/ERP5Diff.py

Modified: erp5/trunk/utils/erp5diff/ERP5Diff.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5diff/ERP5Diff.py?rev=36984&r1=36983&r2=36984&view=diff
==============================================================================
--- erp5/trunk/utils/erp5diff/ERP5Diff.py [utf8] (original)
+++ erp5/trunk/utils/erp5diff/ERP5Diff.py [utf8] Thu Jul  8 15:55:58 2010
@@ -229,8 +229,20 @@ class ERP5Diff:
     len_total_child_list = len(parent_element)
     last_append_element = None
     for element in element_list:
-      relative_next = element.getnext()
-      relative_previous = element.getprevious()
+      # get only elements not something else (PI and comments are ignored)
+      # XXX May be support of PI and Comments should be added
+      # in this case fallback to previous code
+      # relative_next = element.getnext()
+      relative_next_list = element.xpath('following-sibling::*[1]')
+      if relative_next_list:
+        relative_next = relative_next_list[0]
+      else:
+        relative_next = None
+      relative_previous_list = element.xpath('preceding-sibling::*[1]')
+      if relative_previous_list:
+        relative_previous = relative_previous_list[0]
+      else:
+        relative_previous = None
       if relative_previous in element_list:
         #reuse same container as preceding
         append_element = last_append_element




More information about the Erp5-report mailing list