Merge branch 'upstreammaster'
[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 class PLOSv1FWRule:
5     @staticmethod
6     def add_rules(xml, rules):
7         if not rules:
8             return 
9         for rule in rules:
10             rule_elem = xml.add_element('plos:fw_rule')
11             rule_elem.set('protocol', rule.get('protocol'))
12             rule_elem.set('port_range', rule.get('port_range'))
13             rule_elem.set('cidr_ip', rule.get('cidr_ip'))
14             rule_elem.set('icmp_type_code', rule.get('icmp_type_code'))
15               
16     @staticmethod
17     def get_rules(xml):
18         rules = []
19         if 'plos' in xml.namespaces: 
20             for rule_elem in xml.xpath('./plos:fw_rule | ./fw_rule'):
21                 rule = FWRule(rule_elem.attrib, rule_elem)
22                 rules.append(rule)  
23         return rules
24