@@ -31,44 +31,49 @@ def has_signature(comment: GithubComment, slug: str) -> bool:
31
31
)
32
32
33
33
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 = f"/repos/strawberry-graphql/{ repo or ' strawberry' } /issues/{ pr_number } /comments"
36
36
37
37
return API_BASE + url
38
38
39
39
40
- def get_labels_link (pr_number : int ) -> str :
41
- url = f"/repos/strawberry-graphql/strawberry/issues/{ pr_number } /labels"
40
+ def get_labels_link (pr_number : int , repo : typing . Optional [ str ] = None ) -> str :
41
+ url = f"/repos/strawberry-graphql/{ repo or ' strawberry' } /issues/{ pr_number } /labels"
42
42
43
43
return API_BASE + url
44
44
45
45
46
- def get_comments (pr_number : int ) -> typing .List [GithubComment ]:
47
- comments_link = get_comments_link (pr_number )
46
+ def get_comments (pr_number : int , repo : typing . Optional [ str ] = None ) -> typing .List [GithubComment ]:
47
+ comments_link = get_comments_link (pr_number , repo = repo )
48
48
49
49
response = httpx .get (comments_link )
50
50
51
51
return response .json ()
52
52
53
53
54
- def get_labels (pr_number ) -> typing .List [GithubLabel ]:
55
- labels_link = get_labels_link (pr_number )
54
+ def get_labels (pr_number : int , repo : typing . Optional [ str ] = None ) -> typing .List [GithubLabel ]:
55
+ labels_link = get_labels_link (pr_number , repo = repo )
56
56
57
57
response = httpx .get (labels_link )
58
58
59
59
return response .json ()
60
60
61
61
62
- def add_or_edit_comment (pr_number : int , comment_template : str , slug : str ):
63
- current_comments = get_comments (pr_number )
62
+ def add_or_edit_comment (
63
+ pr_number : int ,
64
+ comment_template : str ,
65
+ slug : str ,
66
+ repo : typing .Optional [str ] = None
67
+ ):
68
+ current_comments = get_comments (pr_number , repo = repo )
64
69
65
70
previous_comment = next (
66
71
(comment for comment in current_comments if has_signature (comment , slug )),
67
72
None ,
68
73
)
69
74
70
75
method = httpx .patch if previous_comment else httpx .post
71
- url = previous_comment ["url" ] if previous_comment else get_comments_link (pr_number )
76
+ url = previous_comment ["url" ] if previous_comment else get_comments_link (pr_number , repo = repo )
72
77
73
78
response = method (
74
79
url ,
@@ -79,7 +84,11 @@ def add_or_edit_comment(pr_number: int, comment_template: str, slug: str):
79
84
response .raise_for_status ()
80
85
81
86
82
- def update_labels (pr_number : int , release_info : typing .Optional [ReleaseInfo ]):
87
+ def update_labels (
88
+ pr_number : int ,
89
+ release_info : typing .Optional [ReleaseInfo ],
90
+ repo : str | None = None
91
+ ):
83
92
labels_to_add = {"bot:has-release-file" }
84
93
labels_to_remove : typing .Set [str ] = set ()
85
94
@@ -92,10 +101,10 @@ def update_labels(pr_number: int, release_info: typing.Optional[ReleaseInfo]):
92
101
new_release_label = f"bot:release-type-{ release_info .change_type .value } "
93
102
labels_to_add .add (new_release_label )
94
103
95
- labels_url = get_labels_link (pr_number )
104
+ labels_url = get_labels_link (pr_number , repo = repo )
96
105
97
106
current_labels_url_by_name = {
98
- label ["name" ]: label ["url" ] for label in get_labels (pr_number )
107
+ label ["name" ]: label ["url" ] for label in get_labels (pr_number , repo = repo )
99
108
}
100
109
101
110
current_labels = set (current_labels_url_by_name .keys ())
0 commit comments