Source code for pylero.project_group

# -*- coding: utf8 -*-
from __future__ import absolute_import, division, print_function
from __future__ import unicode_literals
from pylero.base_polarion import BasePolarion
from pylero.subterra_uri import SubterraURI
from pylero.subterra_uri import ArrayOfSubterraURI
from pylero.project import Project


[docs]class ProjectGroup(BasePolarion): """Object to handle the Polarion WSDL tns2:ProjectGroup class Attributes: group_uris (ArrayOfSubterraURI) location (Location) name (string) parent_uri (SubterraURI) project_ids (ArrayOfstring) """ _cls_suds_map = {"group_uris": {"field_name": "groupURIs", "is_array": True, "cls": SubterraURI, "arr_cls": ArrayOfSubterraURI, "inner_field_name": "SubterraURI"}, "location": "location", "name": "name", "parent_uri": {"field_name": "parentURI", "cls": SubterraURI}, "project_ids": "projectIDs", "uri": "_uri", "_unresolved": "_unresolved"} _obj_client = "project_client" _obj_struct = "tns2:ProjectGroup"
[docs] @classmethod def get_root_project_group(cls): """Gets the root project group. Args: None Returns: ProjectGroup object References: Project.getRootProjectGroup """ return cls(suds_object=cls.session.project_client.service. getRootProjectGroup())
[docs] def __init__(self, uri=None, location=None, suds_object=None): """ProjectGroup constructor. Args: uri: the uri that references the Polarion ProjectGroup location: the location of the Polarion ProjectGroup suds_object: Polarion ProjectGroup object. When given, the object is populated by object data. Notes: Either uri or suds_object or location in or none of them. If none of the identifying parameters are passed in an empty object is created References: p.Project.getProjectGroup p.Project.getProjectGroupAtLocation """ super(self.__class__, self).__init__(suds_object=suds_object) if uri: self._suds_object = self.session.project_client.service. \ getProjectGroup(uri) elif location: self._suds_object = self.session.project_client.service. \ getProjectGroupAtLocation(location)
[docs] def get_contained_groups(self): """Gets all project groups located directly below the project group. Args: None Returns: list of p.ProjectGroup objects References: p.Project.getContainedGroups """ self._verify_obj() groups = [] for suds_group in self.session.project_client.service. \ getContainedGroups(self.uri): groups.append(self.__class__(suds_object=suds_group)) return groups
[docs] def get_contained_projects(self): """Gets all projects located directly below the project group. Args: None Returns: list of p.Project objects References: p.Project.getContainedProjects """ self._verify_obj() projects = [] for suds_project in self.session.project_client.service. \ getContainedProjects(self.uri): projects.append(Project(suds_object=suds_project)) return projects
[docs] def get_deep_contained_projects(self): """Gets all projects located below the project group. Args: None Returns: list of p.Project objects References: p.Project.getDeepContainedProjects """ self._verify_obj() projects = [] for suds_project in self.session.project_client.service. \ getDeepContainedProjects(self.uri): projects.append(Project(suds_object=suds_project)) return projects