def get_project(project_name_or_id): project_id = None project_name = project_name_or_id try: project_id = ObjectId(project_name) except: pass if project_id is None: return Project.objects(name=project_name).first() else: return Project.objects(id=project_id).first()
def find_project_by_reference(ref): """Find a project by the information provided in the reference Find a project either by id or name (found in reference) :param ref: A slickqaweb.model.projectReference.ProjectReference instance :return: An instance of Project from mongo if found, None otherwise """ assert isinstance(ref, ProjectReference) project = None if hasattr(ref, 'id') and ref.id is not None: project = Project.objects(id=ref.id).first() if project is None and hasattr(ref, 'name') and ref.name is not None and ref.name != '': project = Project.objects(name=ref.name).first() return project