From 4cbdbf51fa9410f31fd5582d6f0c93062fb3994d Mon Sep 17 00:00:00 2001 From: mike Date: Mon, 17 Jun 2024 23:46:42 -0700 Subject: [PATCH 1/3] apiobject: Add Repository.get_topics() --- gitea/apiobject.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gitea/apiobject.py b/gitea/apiobject.py index 209f9fc..480d39b 100644 --- a/gitea/apiobject.py +++ b/gitea/apiobject.py @@ -343,6 +343,7 @@ class Repository(ApiObject): REPO_ISSUES = """/repos/{owner}/{repo}/issues""" # REPO_DELETE = """/repos/%s/%s""" # , REPO_TIMES = """/repos/%s/%s/times""" # , + REPO_TOPICS = """/repos/%s/%s/topics""" # REPO_USER_TIME = """/repos/%s/%s/times/%s""" # , , REPO_COMMITS = "/repos/%s/%s/commits" # , REPO_TRANSFER = "/repos/{owner}/{repo}/transfer" @@ -463,7 +464,13 @@ class Repository(ApiObject): Repository.REPO_TIMES % (self.owner.username, self.name) ) return results - + + def get_topics(self): + results = self.gitea.requests_get( + Repository.REPO_TOPICS % (self.owner.username, self.name) + ) + return results + def get_user_time(self, username) -> float: if isinstance(username, User): username = username.username From 2716eef153518dcf3cf44bb28c072392770487df Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 18 Jun 2024 00:45:14 -0700 Subject: [PATCH 2/3] Actually just unwrap the topics --- gitea/apiobject.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitea/apiobject.py b/gitea/apiobject.py index 480d39b..df92e54 100644 --- a/gitea/apiobject.py +++ b/gitea/apiobject.py @@ -469,7 +469,7 @@ class Repository(ApiObject): results = self.gitea.requests_get( Repository.REPO_TOPICS % (self.owner.username, self.name) ) - return results + return results["topics"] def get_user_time(self, username) -> float: if isinstance(username, User): From 6102ca7d30fea302b52fce21d3082f04a64a0308 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 18 Jun 2024 01:56:36 -0700 Subject: [PATCH 3/3] Method to add a topic to a repository --- gitea/apiobject.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gitea/apiobject.py b/gitea/apiobject.py index df92e54..3e533ec 100644 --- a/gitea/apiobject.py +++ b/gitea/apiobject.py @@ -344,6 +344,7 @@ class Repository(ApiObject): REPO_DELETE = """/repos/%s/%s""" # , REPO_TIMES = """/repos/%s/%s/times""" # , REPO_TOPICS = """/repos/%s/%s/topics""" # + REPO_TOPIC = """/repos/%s/%s/topics/%s""" # , REPO_USER_TIME = """/repos/%s/%s/times/%s""" # , , REPO_COMMITS = "/repos/%s/%s/commits" # , REPO_TRANSFER = "/repos/{owner}/{repo}/transfer" @@ -470,7 +471,13 @@ class Repository(ApiObject): Repository.REPO_TOPICS % (self.owner.username, self.name) ) return results["topics"] - + + def add_topic(self, topic: str): + """Add a topic to the repository""" + result = self.gitea.requests_put( + Repository.REPO_TOPIC % (self.owner.username, self.name, topic) + ) + def get_user_time(self, username) -> float: if isinstance(username, User): username = username.username