autopep8
[sfa.git] / sfa / rspecs / elements / versions / plosv1FWRule.py
1 from sfa.rspecs.elements.element import Element
2 from sfa.rspecs.elements.fw_rule import FWRule
3
4
5 class PLOSv1FWRule:
6
7     @staticmethod
8     def add_rules(xml, rules):
9         if not rules:
10             return
11         for rule in rules:
12             rule_elem = xml.add_element('{%s}fw_rule' % xml.namespaces['plos'])
13             rule_elem.set('protocol', rule.get('protocol'))
14             rule_elem.set('port_range', rule.get('port_range'))
15             rule_elem.set('cidr_ip', rule.get('cidr_ip'))
16             if rule.get('icmp_type_code'):
17                 rule_elem.set('icmp_type_code', rule.get('icmp_type_code'))
18
19     @staticmethod
20     def get_rules(xml):
21         rules = []
22         if 'plos' in xml.namespaces:
23             for rule_elem in xml.xpath('./plos:fw_rule | ./fw_rule'):
24                 rule = FWRule(rule_elem.attrib, rule_elem)
25                 rules.append(rule)
26         return rules