Merge branch 'upstreammaster'
[sfa.git] / sfa / rspecs / elements / versions / pgv2Services.py
1 from sfa.rspecs.elements.element import Element  
2 from sfa.rspecs.elements.execute import Execute  
3 from sfa.rspecs.elements.install import Install  
4 from sfa.rspecs.elements.login import Login
5
6 class PGv2Services:
7     @staticmethod
8     def add_services(xml, services):
9         if not services:
10             return 
11
12         for service in services:
13             service_elem = xml.add_element('services')
14             Element.add_elements(service_elem, 'install', service.get('install', []), Install.fields) 
15             Element.add_elements(service_elem, 'execute', service.get('execute', []), Execute.fields) 
16             Element.add_elements(service_elem, 'login', service.get('login', []), Login.fields) 
17               
18     @staticmethod
19     def get_services(xml):
20         services = []
21         for services_elem in xml.xpath('./default:services | ./services'):
22             service = Services(services_elem.attrib, services_elem)
23             service['install'] = Element.get_elements(service_elem, './default:install | ./install', Install)
24             service['execute'] = Element.get_elements(service_elem, './default:execute | ./execute', Execute)
25             service['login'] = Element.get_elements(service_elem, './default:login | ./login', Login)
26             services.append(service)  
27         return services
28