def get_project_and_column( repo: Repository, project_name: str, column_name: str, create_missing: bool ) -> tuple[Optional[Project], Optional[ProjectColumn]]: """ Gets a project and column from a repo """ project = search_for_object( repo.get_projects(), project_name, create_missing=create_missing, object_name="project", create=lambda: repo.create_project( name=project_name, body=ask("Enter the project's description..."), ), ) if project is None: return None, None column = search_for_object( project.get_columns(), column_name, create_missing=create_missing, object_name="column", create=lambda: project.create_column(name=column_name), ) return project, column
def get_project(repo: Repository, name: str) -> Project: """ Get project from repository by name """ for project in repo.get_projects(): if project.name == name: return project raise ValueError(f'No project with name: {name}')