[Erp5-report] r30172 - /erp5/trunk/products/ERP5SyncML/Conduit/ERP5DocumentConduit.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Oct 30 17:39:00 CET 2009


Author: nicolas
Date: Fri Oct 30 17:38:56 2009
New Revision: 30172

URL: http://svn.erp5.org?rev=30172&view=rev
Log:
Add backward compatibility with old ERP5Diff

Modified:
    erp5/trunk/products/ERP5SyncML/Conduit/ERP5DocumentConduit.py

Modified: erp5/trunk/products/ERP5SyncML/Conduit/ERP5DocumentConduit.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5SyncML/Conduit/ERP5DocumentConduit.py?rev=30172&r1=30171&r2=30172&view=diff
==============================================================================
--- erp5/trunk/products/ERP5SyncML/Conduit/ERP5DocumentConduit.py [utf8] (original)
+++ erp5/trunk/products/ERP5SyncML/Conduit/ERP5DocumentConduit.py [utf8] Fri Oct 30 17:38:56 2009
@@ -31,6 +31,8 @@
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions
 from Products.ERP5SyncML.SyncCode import SyncCode
+from ERP5Diff import ERP5Diff
+import re
 from lxml import etree
 parser = etree.XMLParser(remove_blank_text=True)
 
@@ -97,6 +99,9 @@
         else:
           xml = xml_previous.xpath(path_prop_id)[0]
         request = prop_list[-1]
+        if getattr(ERP5Diff, '__version__', 0.0) <= 0.2:
+          #Old ERP5Diff, xpath position start from 0, so add +1 to be compliant
+          request = re.sub('(\d+)', lambda match:str(int(match.group(0))+1), request)
         if subnode.xpath('name()') in self.XUPDATE_DEL:
           node_to_remove_list = xml.xpath(request)
           if node_to_remove_list:




More information about the Erp5-report mailing list