if not rules:
return
for rule in rules:
- rule_elem = xml.add_element('plos:fw_rule')
+ rule_elem = xml.add_element('{%s}fw_rule' % xml.namespaces['plos'])
rule_elem.set('protocol', rule.get('protocol'))
rule_elem.set('port_range', rule.get('port_range'))
rule_elem.set('cidr_ip', rule.get('cidr_ip'))
- rule_elem.set('icmp_type_code', rule.get('icmp_type_code'))
+ if rule.get('icmp_type_code'):
+ rule_elem.set('icmp_type_code', rule.get('icmp_type_code'))
@staticmethod
def get_rules(xml):
rules = []
- for rule_elem in xml.xpath('./plos:fw_rule | ./fw_rule'):
- rule = FWRule(rule_elem.attrib, rule_elem)
- rules.append(rule)
+ if 'plos' in xml.namespaces:
+ for rule_elem in xml.xpath('./plos:fw_rule | ./fw_rule'):
+ rule = FWRule(rule_elem.attrib, rule_elem)
+ rules.append(rule)
return rules