From e5987626ca1643521b16658555f088412be2a339 Mon Sep 17 00:00:00 2001 From: Laurent Peuch Date: Fri, 29 Apr 2022 17:54:52 +0200 Subject: [PATCH] feat(ux): display project.name_with_namespace on project repr This change the repr from: $ gitlab.projects.get(id=some_id) To: $ gitlab.projects.get(id=some_id) This is especially useful when working on random projects or listing of projects since users generally don't remember projects ids. --- gitlab/v4/objects/projects.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gitlab/v4/objects/projects.py b/gitlab/v4/objects/projects.py index 81eb62496..7d9c834bd 100644 --- a/gitlab/v4/objects/projects.py +++ b/gitlab/v4/objects/projects.py @@ -186,6 +186,16 @@ class Project(RefreshMixin, SaveMixin, ObjectDeleteMixin, RepositoryMixin, RESTO variables: ProjectVariableManager wikis: ProjectWikiManager + def __repr__(self) -> str: + project_repr = super().__repr__() + + if hasattr(self, "name_with_namespace"): + return ( + f'{project_repr[:-1]} name_with_namespace:"{self.name_with_namespace}">' + ) + else: + return project_repr + @cli.register_custom_action("Project", ("forked_from_id",)) @exc.on_http_error(exc.GitlabCreateError) def create_fork_relation(self, forked_from_id: int, **kwargs: Any) -> None: