Merge Master in geni-v3 conflict resolution
[sfa.git] / sfa / rspecs / elements / versions / pgv2Services.py
index 9fadc56..ff9e9d1 100644 (file)
@@ -1,6 +1,7 @@
 from sfa.rspecs.elements.element import Element  
 from sfa.rspecs.elements.execute import Execute  
 from sfa.rspecs.elements.install import Install  
+from sfa.rspecs.elements.services import ServicesElement  
 from sfa.rspecs.elements.login import Login
 
 class PGv2Services:
@@ -14,20 +15,20 @@ class PGv2Services:
                               'execute': Execute.fields,
                               'login': Login.fields}
             for (name, fields) in child_elements.items():
-                objects = service.get(name)
-                if not objects
+                child = service.get(name)
+                if not child
                     continue
-                if isinstance(objects, basestring):
-                    service_elem.add_instance(name, objects, fields)
-                elif isinstance(objects, list):
-                    for obj in objects:
+                if isinstance(child, dict):
+                    service_elem.add_instance(name, child, fields)
+                elif isinstance(child, list):
+                    for obj in child:
                         service_elem.add_instance(name, obj, fields)
               
     @staticmethod
     def get_services(xml):
         services = []
         for services_elem in xml.xpath('./default:services | ./services'):
-            service = Services(services_elem.attrib, services_elem)
+            service = ServicesElement(services_elem.attrib, services_elem)
             # get install 
             install_elems = xml.xpath('./default:install | ./install')
             service['install'] = [install_elem.get_instance(Install) for install_elem in install_elems]