core (xml_tools): new elementCopy method to shallow copy a domish.Element
This commit is contained in:
parent
208dc38433
commit
82bb99f88c
1 changed files with 19 additions and 0 deletions
|
|
@ -1664,6 +1664,25 @@ def deferConfirm(*args, **kwargs):
|
|||
|
||||
# Misc other funtions
|
||||
|
||||
def elementCopy(element):
|
||||
"""Make a copy of a domish.Element
|
||||
|
||||
The copy will have its own children list, so other elements
|
||||
can be added as direct children without modifying orignal one.
|
||||
Children are not deeply copied, so if an element is added to a child or grandchild,
|
||||
it will also affect original element.
|
||||
@param element(domish.Element): Element to clone
|
||||
"""
|
||||
new_elt = domish.Element(
|
||||
(element.uri, element.name),
|
||||
defaultUri = element.defaultUri,
|
||||
attribs = element.attributes,
|
||||
localPrefixes = element.localPrefixes)
|
||||
new_elt.parent = element.parent
|
||||
new_elt.children = element.children[:]
|
||||
return new_elt
|
||||
|
||||
|
||||
def isXHTMLField(field):
|
||||
"""Check if a data_form.Field is an XHTML one"""
|
||||
return (field.fieldType is None and field.ext_type == u"xml" and
|
||||
|
|
|
|||
Loading…
Reference in a new issue