[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