@@ -31,44 +31,56 @@ def has_signature(comment: GithubComment, slug: str) -> bool:
3131 )
3232
3333
34- def get_comments_link (pr_number : int ) -> str :
35- url = f"/repos/strawberry-graphql/strawberry/issues/{ pr_number } /comments"
34+ def get_comments_link (pr_number : int , repo : typing .Optional [str ] = None ) -> str :
35+ url = (
36+ f"/repos/strawberry-graphql/{ repo or 'strawberry' } /issues/{ pr_number } /comments"
37+ )
3638
3739 return API_BASE + url
3840
3941
40- def get_labels_link (pr_number : int ) -> str :
41- url = f"/repos/strawberry-graphql/strawberry/issues/{ pr_number } /labels"
42+ def get_labels_link (pr_number : int , repo : typing . Optional [ str ] = None ) -> str :
43+ url = f"/repos/strawberry-graphql/{ repo or ' strawberry' } /issues/{ pr_number } /labels"
4244
4345 return API_BASE + url
4446
4547
46- def get_comments (pr_number : int ) -> typing .List [GithubComment ]:
47- comments_link = get_comments_link (pr_number )
48+ def get_comments (
49+ pr_number : int , repo : typing .Optional [str ] = None
50+ ) -> typing .List [GithubComment ]:
51+ comments_link = get_comments_link (pr_number , repo = repo )
4852
4953 response = httpx .get (comments_link )
5054
5155 return response .json ()
5256
5357
54- def get_labels (pr_number ) -> typing .List [GithubLabel ]:
55- labels_link = get_labels_link (pr_number )
58+ def get_labels (
59+ pr_number : int , repo : typing .Optional [str ] = None
60+ ) -> typing .List [GithubLabel ]:
61+ labels_link = get_labels_link (pr_number , repo = repo )
5662
5763 response = httpx .get (labels_link )
5864
5965 return response .json ()
6066
6167
62- def add_or_edit_comment (pr_number : int , comment_template : str , slug : str ):
63- current_comments = get_comments (pr_number )
68+ def add_or_edit_comment (
69+ pr_number : int , comment_template : str , slug : str , repo : typing .Optional [str ] = None
70+ ):
71+ current_comments = get_comments (pr_number , repo = repo )
6472
6573 previous_comment = next (
6674 (comment for comment in current_comments if has_signature (comment , slug )),
6775 None ,
6876 )
6977
7078 method = httpx .patch if previous_comment else httpx .post
71- url = previous_comment ["url" ] if previous_comment else get_comments_link (pr_number )
79+ url = (
80+ previous_comment ["url" ]
81+ if previous_comment
82+ else get_comments_link (pr_number , repo = repo )
83+ )
7284
7385 response = method (
7486 url ,
@@ -79,7 +91,9 @@ def add_or_edit_comment(pr_number: int, comment_template: str, slug: str):
7991 response .raise_for_status ()
8092
8193
82- def update_labels (pr_number : int , release_info : typing .Optional [ReleaseInfo ]):
94+ def update_labels (
95+ pr_number : int , release_info : typing .Optional [ReleaseInfo ], repo : str | None = None
96+ ):
8397 labels_to_add = {"bot:has-release-file" }
8498 labels_to_remove : typing .Set [str ] = set ()
8599
@@ -92,10 +106,10 @@ def update_labels(pr_number: int, release_info: typing.Optional[ReleaseInfo]):
92106 new_release_label = f"bot:release-type-{ release_info .change_type .value } "
93107 labels_to_add .add (new_release_label )
94108
95- labels_url = get_labels_link (pr_number )
109+ labels_url = get_labels_link (pr_number , repo = repo )
96110
97111 current_labels_url_by_name = {
98- label ["name" ]: label ["url" ] for label in get_labels (pr_number )
112+ label ["name" ]: label ["url" ] for label in get_labels (pr_number , repo = repo )
99113 }
100114
101115 current_labels = set (current_labels_url_by_name .keys ())
0 commit comments