Skip to content

Commit e8ff83a

Browse files
committed
webhooks: issue: use GitHubLogin for caseless comparison
1 parent 106f63e commit e8ff83a

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

webhooks/issue.py

+11-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
from typing import Dict, Any, List, Set, Tuple, Optional
77
import json
88

9-
from agithub import Issue, GitHub, Comment, GitHubError, IssueStateReason
9+
from agithub import (
10+
Issue, GitHub, Comment, GitHubError, IssueStateReason,
11+
GitHubLogin,
12+
)
1013

1114
from . import config
1215
from . import lilac
@@ -105,12 +108,12 @@ async def find_affecting_deps(
105108

106109
async def process_orphaning(
107110
author: str, edited: bool,
108-
packages: Set[str], assignees: Set[str],
111+
packages: Set[str], assignees: Set[GitHubLogin],
109112
maintainers: List[Maintainer],
110113
) -> str:
111114
if author != config.MY_GITHUB:
112115
try:
113-
assignees.remove(author)
116+
assignees.remove(GitHubLogin(author))
114117
except KeyError:
115118
pass
116119

@@ -131,7 +134,7 @@ async def process_orphaning(
131134
comment_parts.append(c)
132135
comment += '\n'.join(comment_parts) + '\n\n'
133136
assignees.update(
134-
m for x in affected_maints.values() for m in x
137+
GitHubLogin(m) for x in affected_maints.values() for m in x
135138
)
136139

137140
if not edited and author not in maintainers and author != config.ADMIN_GH:
@@ -195,10 +198,10 @@ async def process_issue(gh: GitHub, issue_dict: Dict[str, Any],
195198
labels = ['out-of-date']
196199
elif issuetype == IssueType.Orphaning:
197200
labels = ['orphaning']
198-
assignees.add(config.MY_GITHUB)
201+
assignees.add(GitHubLogin(config.MY_GITHUB))
199202
elif issuetype == IssueType.Official:
200203
labels = ['in-official-repos']
201-
assignees.add(config.MY_GITHUB)
204+
assignees.add(GitHubLogin(config.MY_GITHUB))
202205
else:
203206
labels = []
204207

@@ -216,7 +219,7 @@ async def process_issue(gh: GitHub, issue_dict: Dict[str, Any],
216219
if not maintainers:
217220
unmaintained.append(pkg)
218221

219-
assignees.update(x for x in maintainers)
222+
assignees.update(GitHubLogin(x) for x in maintainers)
220223

221224
if issuetype == IssueType.Orphaning:
222225
comment = await process_orphaning(
@@ -245,7 +248,7 @@ async def process_issue(gh: GitHub, issue_dict: Dict[str, Any],
245248
await issue.add_labels(labels)
246249
if assignees:
247250
r = await issue.assign(list(assignees))
248-
assigned = {x['login'] for x in r['assignees']}
251+
assigned = {GitHubLogin(x['login']) for x in r['assignees']}
249252
failed = assignees - assigned
250253
if failed:
251254
if comment:

0 commit comments

Comments
 (0)