fix bug
[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         for service in services:
10             service_elem = xml.add_element('services')
11             Element.add_elements(service_elem, 'install', service.get('install', []), Install.fields) 
12             Element.add_elements(service_elem, 'execute', service.get('execute', []), Execute.fields) 
13             Element.add_elements(service_elem, 'login', service.get('login', []), Login.fields) 
14               
15     @staticmethod
16     def get_services(xml):
17         services = []
18         for services_elem in xml.xpath('./default:services | ./services'):
19             service = Services(services_elem.attrib, services_elem)
20             service['install'] = Element.get_elements(service_elem, './default:install | ./install', Install)
21             service['execute'] = Element.get_elements(service_elem, './default:execute | ./execute', Execute)
22             service['login'] = Element.get_elements(service_elem, './default:login | ./login', Login)
23             services.append(service)  
24         return services
25