X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Felements%2Fversions%2Fpgv2Services.py;h=f2b1573ba8561fac07dab77487a261631f92cee5;hb=4a9e6751f9f396f463932133b9d62fc925a99ef6;hp=e0acc714bf00be3a0a31f0b1773c55f21f62528e;hpb=fae309c53ba7e65f1b51047d8c8fbb7a10477713;p=sfa.git diff --git a/sfa/rspecs/elements/versions/pgv2Services.py b/sfa/rspecs/elements/versions/pgv2Services.py index e0acc714..f2b1573b 100644 --- a/sfa/rspecs/elements/versions/pgv2Services.py +++ b/sfa/rspecs/elements/versions/pgv2Services.py @@ -1,22 +1,24 @@ -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.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: + @staticmethod def add_services(xml, services): if not services: - return + return for service in services: service_elem = xml.add_element('services') child_elements = {'install': Install.fields, 'execute': Execute.fields, 'login': Login.fields} - for (name, fields) in child_elements.items(): + for (name, fields) in list(child_elements.items()): child = service.get(name) - if not child: + if not child: continue if isinstance(child, dict): service_elem.add_instance(name, child, fields) @@ -33,21 +35,26 @@ class PGv2Services: # for key in ssh_user['keys']: # pkey_elem = ssh_user_elem.add_element('{%s}public_key' % xml.namespaces['ssh-user']) # pkey_elem.element.text=key - + @staticmethod def get_services(xml): services = [] for services_elem in xml.xpath('./default:services | ./services'): service = ServicesElement(services_elem.attrib, services_elem) - # get install - install_elems = services_elem.xpath('./default:install | ./install') - service['install'] = [install_elem.get_instance(Install) for install_elem in install_elems] + # get install + install_elems = services_elem.xpath( + './default:install | ./install') + service['install'] = [install_elem.get_instance( + Install) for install_elem in install_elems] # get execute - execute_elems = services_elem.xpath('./default:execute | ./execute') - service['execute'] = [execute_elem.get_instance(Execute) for execute_elem in execute_elems] + execute_elems = services_elem.xpath( + './default:execute | ./execute') + service['execute'] = [execute_elem.get_instance( + Execute) for execute_elem in execute_elems] # get login login_elems = services_elem.xpath('./default:login | ./login') - service['login'] = [login_elem.get_instance(Login) for login_elem in login_elems] + service['login'] = [login_elem.get_instance( + Login) for login_elem in login_elems] # ssh_user_elems = services_elem.xpath('./ssh-user:service_user | ./service_user') # services_user = [] @@ -55,6 +62,5 @@ class PGv2Services: # services_user = ssh_user_elem.get_instance(None, fields=['login', 'user_urn']) # service['services_user'] = services_user - services.append(service) + services.append(service) return services -