MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / check_approval

Function check_approval

scripts/check_pr_approval.py:19–48  ·  view source on GitHub ↗
(count, required_reviewers)

Source from the content-addressed store, hash-verified

17
18
19def check_approval(count, required_reviewers):
20 json_buff = ""
21 for line in sys.stdin:
22 json_buff = "".join([json_buff, line])
23 json_resp = json.loads(json_buff)
24 approves = 0
25 approved_user_ids = []
26 approved_user_logins = set()
27 for review in json_resp:
28 if review["state"] == "APPROVED":
29 approves += 1
30 approved_user_ids.append(review["user"]["id"])
31 approved_user_logins.add(review["user"]["login"])
32
33 # convert to int
34 required_reviewers_int = set()
35 required_reviewers_login = set()
36 for rr in required_reviewers:
37 if rr.isdigit():
38 required_reviewers_int.add(int(rr))
39 else:
40 required_reviewers_login.add(rr)
41
42 if (
43 len(set(approved_user_ids) & required_reviewers_int) + len(approved_user_logins & required_reviewers_login)
44 >= count
45 ):
46 print("TRUE")
47 else:
48 print("FALSE")
49
50
51if __name__ == "__main__":

Callers 1

Calls 3

printFunction · 0.85
joinMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected