bugfix
[sfa.git] / sfa / rspecs / elements / versions / pgv2Services.py
index 6cb7ec9..9eb1ed9 100644 (file)
@@ -6,20 +6,23 @@ from sfa.rspecs.elements.login import Login
 class PGv2Services:
     @staticmethod
     def add_services(xml, services):
+        if not services:
+            return 
+
         for service in services:
-            service_elem = etree.SubElement(xml, 'service')
-            Element.add(service_elem, 'install', service.get('install', []), Install.fields) 
-            Element.add(service_elem, 'execute', service.get('execute', []), Execute.fields) 
-            Element.add(service_elem, 'login', service.get('login', []), Login.fields) 
+            service_elem = xml.add_element('services')
+            Element.add_elements(service_elem, 'install', service.get('install', []), Install.fields) 
+            Element.add_elements(service_elem, 'execute', service.get('execute', []), Execute.fields) 
+            Element.add_elements(service_elem, 'login', service.get('login', []), Login.fields) 
               
     @staticmethod
     def get_services(xml):
         services = []
         for services_elem in xml.xpath('./default:services | ./services'):
             service = Services(services_elem.attrib, services_elem)
-            service['install'] = Element.get(service_elem, './default:install | ./install', Install)
-            service['execute'] = Element.get(service_elem, './default:execute | ./execute', Execute)
-            service['login'] = Element.get(service_elem, './default:login | ./login', Login)
+            service['install'] = Element.get_elements(service_elem, './default:install | ./install', Install)
+            service['execute'] = Element.get_elements(service_elem, './default:execute | ./execute', Execute)
+            service['login'] = Element.get_elements(service_elem, './default:login | ./login', Login)
             services.append(service)  
         return services