Skip to content

Commit 09cb435

Browse files
tisonkuneolivelli
authored andcommitted
ZOOKEEPER-3782: Replace filter() with list comprehension for returning list
After Py3, `filter` return a `filter object` instead of `list object`, which causes ``` Traceback (most recent call last): File "zk-merge-pr.py", line 533, in <module> main() File "zk-merge-pr.py", line 519, in main resolve_jira_issues(commit_title, merged_refs, jira_comment) File "zk-merge-pr.py", line 329, in resolve_jira_issues resolve_jira_issue(merge_branches, comment, jira_id) File "zk-merge-pr.py", line 312, in resolve_jira_issue jira_fix_versions = [get_version_json(v) for v in fix_versions] File "zk-merge-pr.py", line 312, in <listcomp> jira_fix_versions = [get_version_json(v) for v in fix_versions] File "zk-merge-pr.py", line 310, in get_version_json return filter(lambda v: v.name == version_str, versions)[0].raw TypeError: 'filter' object is not subscriptable ``` We can replace filter with list comprehension to fix it. Author: tison <[email protected]> Reviewers: Enrico Olivelli <[email protected]> Closes apache#1303 from TisonKun/ZOOKEEPER-3782
1 parent a8fb880 commit 09cb435

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

zk-merge-pr.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -307,12 +307,12 @@ def resolve_jira_issue(merge_branches, comment, default_jira_id=""):
307307
fix_versions = fix_versions.replace(" ", "").split(",")
308308

309309
def get_version_json(version_str):
310-
return filter(lambda v: v.name == version_str, versions)[0].raw
310+
return [v for v in versions if v.name == version_str][0].raw
311311

312312
jira_fix_versions = [get_version_json(v) for v in fix_versions]
313313

314-
resolve = filter(lambda a: a['name'] == "Resolve Issue", asf_jira.transitions(jira_id))[0]
315-
resolution = filter(lambda r: r.raw['name'] == "Fixed", asf_jira.resolutions())[0]
314+
resolve = [a for a in asf_jira.transitions(jira_id) if a['name'] == "Resolve Issue"][0]
315+
resolution = [r for r in asf_jira.resolutions() if r.raw['name'] == "Fixed"][0]
316316
asf_jira.transition_issue(
317317
jira_id, resolve["id"], fixVersions = jira_fix_versions,
318318
comment = comment, resolution = {'id': resolution.raw['id']})

0 commit comments

Comments
 (0)