diff --git a/product/ERP5SyncML/SyncCode.py b/product/ERP5SyncML/SyncCode.py index eeb8905a620bcaf9c41189e5bd91f7a845f464c5..2702b50c7bc34cdac4432e97e665d2f0adff0854 100644 --- a/product/ERP5SyncML/SyncCode.py +++ b/product/ERP5SyncML/SyncCode.py @@ -111,12 +111,19 @@ class SyncCode(Persistent): ADDABLE_PROPERTY = local_role_list + (history_tag,) + local_permission_list NOT_EDITABLE_PROPERTY = ('id','object','uid','xupdate:attribute') \ + XUPDATE_ELEMENT + ADDABLE_PROPERTY - sub_object_exp = re.compile("/object\[@id='.*'\]/") - object_exp = re.compile("/object\[@id='.*'\]") + attribute_type_exp = re.compile("^.*attribute::type$") - sub_sub_object_exp = re.compile("/object\[@id='.*'\]/object\[@id='.*'\]/") history_exp = re.compile("/%s\[@id='.*'\]" % history_tag) bad_history_exp = re.compile("/%s\[@id='.*'\]/" % history_tag) + extract_id_from_xpath = re.compile( + "(?P<object_block>(?P<property>[^/]+)\[@"\ + "(?P<id_of_id>id|gid)='(?P<object_id>[^']+)'\])") + + # Those regular expression are deprecated and keept + # only for backward compatibility + object_exp = re.compile("/object\[@id='.*'\]") + sub_object_exp = re.compile("/object\[@id='.*'\]/") + sub_sub_object_exp = re.compile("/object\[@id='.*'\]/object\[@id='.*'\]/") #media types :