本文整理汇总了Python中xml.etree.ElementTree.SubElement方法的典型用法代码示例。如果您正苦于以下问题:Python ElementTree.SubElement方法的具体用法?Python ElementTree.SubElement怎么用?Python ElementTree.SubElement使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.etree.ElementTree
的用法示例。
在下文中一共展示了ElementTree.SubElement方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _generate_data_dictionary
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def _generate_data_dictionary(root, feature_names, target_name, target_values):
data_dict = ET.SubElement(root, 'DataDictionary')
data_field = ET.SubElement(data_dict, 'DataField')
data_field.set('name', target_name)
data_field.set('dataType', 'string')
data_field.set('optype', 'categorical')
print('[x] Generating Data Dictionary:')
for t in target_values:
value = ET.SubElement(data_field, 'Value')
value.set('value', t)
for f in feature_names:
data_field = ET.SubElement(data_dict, 'DataField')
data_field.set('name', f)
data_field.set('dataType', 'double')
data_field.set('optype', 'continuous')
print('\t[-] {}...OK!'.format(f))
return data_dict
示例2: tvtunes_nfo
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def tvtunes_nfo(path, urls):
''' Create tvtunes.nfo
'''
try:
xml = etree.parse(path).getroot()
except Exception:
xml = etree.Element('tvtunes')
for elem in xml.getiterator('tvtunes'):
for file in list(elem):
elem.remove(file)
for url in urls:
etree.SubElement(xml, 'file').text = url
indent(xml)
write_xml(etree.tostring(xml, 'UTF-8'), path)
示例3: node_recent
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def node_recent(self, root):
for rule in root.findall('.//order'):
if rule.text == "dateadded":
break
else:
etree.SubElement(root, 'order', {'direction': "descending"}).text = "dateadded"
for rule in root.findall('.//limit'):
rule.text = str(self.limit)
break
else:
etree.SubElement(root, 'limit').text = str(self.limit)
for rule in root.findall('.//rule'):
if rule.attrib['field'] == 'playcount':
rule.find('value').text = "0"
break
else:
rule = etree.SubElement(root, 'rule', {'field': "playcount", 'operator': "is"})
etree.SubElement(rule, 'value').text = "0"
示例4: node_recentepisodes
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def node_recentepisodes(self, root):
for rule in root.findall('.//order'):
if rule.text == "dateadded":
break
else:
etree.SubElement(root, 'order', {'direction': "descending"}).text = "dateadded"
for rule in root.findall('.//limit'):
rule.text = str(self.limit)
break
else:
etree.SubElement(root, 'limit').text = str(self.limit)
for rule in root.findall('.//rule'):
if rule.attrib['field'] == 'playcount':
rule.find('value').text = "0"
break
else:
rule = etree.SubElement(root, 'rule', {'field': "playcount", 'operator': "is"})
etree.SubElement(rule, 'value').text = "0"
content = root.find('content')
content.text = "episodes"
示例5: node_inprogressepisodes
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def node_inprogressepisodes(self, root):
for rule in root.findall('.//limit'):
rule.text = str(self.limit)
break
else:
etree.SubElement(root, 'limit').text = str(self.limit)
for rule in root.findall('.//rule'):
if rule.attrib['field'] == 'inprogress':
break
else:
etree.SubElement(root, 'rule', {'field': "inprogress", 'operator':"true"})
content = root.find('content')
content.text = "episodes"
示例6: _subelements
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def _subelements(self, comparable=False):
"""Generator function to turn children into XML objects.
Yields:
xml.etree.ElementTree: The next child as an ``ElementTree`` object.
"""
for child in self.children:
root = self._root_element()
# Paths have a leading slash to get rid of
xpath_sections = child.XPATH.split('/')[1:]
if child.SUFFIX is None:
# If not suffix, remove the last xpath section
# because it will be part of the element
xpath_sections = xpath_sections[:-1]
e = root
for path in xpath_sections:
e = ET.SubElement(e, path)
e.append(child.element(comparable=comparable))
yield root
示例7: _perform_vsys_dict_import_set
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def _perform_vsys_dict_import_set(self, dev, vsys_dict):
"""Iterates of a vsys_dict, doing imports for all instances."""
for vsys, vsys_spec in vsys_dict.items():
if vsys is None:
continue
for xpath_import_base, objs in vsys_spec.items():
xpath_tokens = xpath_import_base.split('/')
new_root = xpath_tokens.pop()
# Form the xpath from what remains of the xpath.
xpath = '/'.join(xpath_tokens)
# Append objects as members to the new root.
shared_root = ET.Element(new_root)
for x in objs:
ET.SubElement(shared_root, "member").text = x.uid
# Perform the import.
dev.xapi.set(xpath, ET.tostring(shared_root, encoding='utf-8'),
retry_on_peer=self.HA_SYNC)
示例8: add_commit_lock
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def add_commit_lock(self, comment=None, scope="shared", exceptions=True, retry_on_peer=True):
self._logger.debug("%s: Add commit lock requested for scope %s" % (self.id, scope))
cmd = ET.Element("request")
subel = ET.SubElement(cmd, "commit-lock")
subel = ET.SubElement(subel, "add")
if comment is not None:
subel = ET.SubElement(subel, "comment")
subel.text = comment
try:
self.xapi.op(ET.tostring(cmd, encoding='utf-8'), vsys=scope, retry_on_peer=retry_on_peer)
except (pan.xapi.PanXapiError, err.PanDeviceXapiError) as e:
if not re.match(r"Commit lock is already held", str(e)):
raise
else:
if exceptions:
raise err.PanLockError(str(e), pan_device=self)
else:
self._logger.debug(str(e))
return False
self.commit_locked = True
return True
示例9: add_config_lock
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def add_config_lock(self, comment=None, scope="shared", exceptions=True, retry_on_peer=True):
self._logger.debug("%s: Add config lock requested for scope %s" % (self.id, scope))
cmd = ET.Element("request")
subel = ET.SubElement(cmd, "config-lock")
subel = ET.SubElement(subel, "add")
if comment is not None:
subel = ET.SubElement(subel, "comment")
subel.text = comment
try:
self.xapi.op(ET.tostring(cmd, encoding='utf-8'), vsys=scope, retry_on_peer=retry_on_peer)
except (pan.xapi.PanXapiError, err.PanDeviceXapiError) as e:
if not re.match(r"Config for scope (shared|vsys\d) is currently locked", str(e)) and \
not re.match(r"You already own a config lock for scope", str(e)):
raise
else:
if exceptions:
raise err.PanLockError(str(e), pan_device=self)
else:
self._logger.debug(str(e))
return False
self.config_locked = True
return True
示例10: remove_config_lock
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def remove_config_lock(self, scope="shared", exceptions=True, retry_on_peer=True):
self._logger.debug("%s: Remove config lock requested for scope %s" % (self.id, scope))
cmd = ET.Element("request")
subel = ET.SubElement(cmd, "config-lock")
subel = ET.SubElement(subel, "remove")
try:
self.xapi.op(ET.tostring(cmd, encoding='utf-8'), vsys=scope, retry_on_peer=retry_on_peer)
except (pan.xapi.PanXapiError, err.PanDeviceXapiError) as e:
if not re.match(r"Config is not currently locked for scope (shared|vsys\d)", str(e)):
raise
else:
if exceptions:
raise err.PanLockError(str(e), pan_device=self)
else:
self._logger.debug(str(e))
return False
self.config_locked = False
return True
示例11: element
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def element(self):
if self.serial is None:
raise ValueError("Serial number must be set to generate element")
entry = ET.Element("entry", {"name": self.serial})
if self.parent == self.panorama() and self.serial is not None:
# This is a firewall under a panorama
if not self.multi_vsys:
vsys = ET.SubElement(entry, "vsys")
ET.SubElement(vsys, "entry", {"name": "vsys1"})
elif self.parent == self.devicegroup() and self.multi_vsys:
# This is a firewall under a device group
if self.vsys.startswith("vsys"):
vsys = ET.SubElement(entry, "vsys")
ET.SubElement(vsys, "entry", {"name": self.vsys})
else:
vsys = ET.SubElement(entry, "vsys")
all_vsys = self.findall(device.Vsys)
for a_vsys in all_vsys:
ET.SubElement(vsys, "entry", {"name": a_vsys})
return entry
示例12: login
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def login(self, user, ip):
"""Login a single user
Maps a user to an IP address
This method can be batched with batch_start() and batch_end().
Args:
user (str): a username
ip (str): an ip address
"""
root, payload = self._create_uidmessage()
login = payload.find("login")
if login is None:
login = ET.SubElement(payload, "login")
ET.SubElement(login, "entry", {"name": user, "ip": ip})
self.send(root)
示例13: logout
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def logout(self, user, ip):
"""Logout a single user
Removes a mapping of a user to an IP address
This method can be batched with batch_start() and batch_end().
Args:
user (str): a username
ip (str): an ip address
"""
root, payload = self._create_uidmessage()
logout = payload.find("logout")
if logout is None:
logout = ET.SubElement(payload, "logout")
ET.SubElement(logout, "entry", {"name": user, "ip": ip})
self.send(root)
示例14: logouts
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def logouts(self, users):
"""Logout multiple users in the same API call
This method can be batched with batch_start() and batch_end().
Arguments:
users: a list of sets of user/ip mappings
eg. [(user1, 10.0.1.1), (user2, 10.0.1.2)]
"""
if not users:
return
root, payload = self._create_uidmessage()
logout = payload.find("logout")
if logout is None:
logout = ET.SubElement(payload, "logout")
for user in users:
ET.SubElement(logout, "entry", {"name": user[0], "ip": user[1]})
self.send(root)
示例15: _generate_chat
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import SubElement [as 别名]
def _generate_chat(self, to, from_, body):
data = _FormData()
data.add_text('from', from_, 'plain')
data.add_text('to', to, 'plain')
data.add_text('body', body, 'plain')
message_element = ElementTree.Element(
ElementTree.QName('jabber:client', 'message'),
{'from': from_, 'to': to, 'type': 'chat'})
body_element = ElementTree.SubElement(
message_element,
ElementTree.QName('jabber:client', 'body'))
body_element.text = body
data.add_text('stanza',
ElementTree.tostring(message_element, encoding='utf-8'),
'xml')
return data