diff --git a/tools/attention_list.py b/tools/attention_list.py index 470019ff..eea62343 100644 --- a/tools/attention_list.py +++ b/tools/attention_list.py @@ -24,18 +24,22 @@ import json import threading class FailedPR: + """Base class for failed Pull Requests""" - def __init__(self, host, url, created_at, updated_at, target_url=None, status=None, error=None): + def __init__(self, host, url, created_at, updated_at, zuul_url=None, status=None, error=None): self.host = host self.url = url self.status = status - self.target_url = target_url + self.zuul_url = zuul_url self.created_at = created_at self.updated_at = updated_at self.error = error def get_args(): + """ + Function to collect parameter. + """ parser = argparse.ArgumentParser( description='Bootstrap repositories.') parser.add_argument( @@ -89,6 +93,9 @@ def get_args(): return parser.parse_args() def get_gitea_repos(url, headers, gitea_org): + """ + Get all Repositories of one Gitea orgainzation + """ repositories = [] i = 1 @@ -112,6 +119,9 @@ def get_gitea_repos(url, headers, gitea_org): return repositories def get_gitea_prs(url, headers, gitea_org, repo): + """ + Collect all Pull Requests of a Gitea Repository + """ pullrequests = [] try: @@ -129,6 +139,9 @@ def get_gitea_prs(url, headers, gitea_org, repo): return pullrequests def get_failed_gitea_commits(pull, url, gitea_org, repo, headers): + """ + Collect all failed gitea commits of one repository. + """ failed_commits = [] try: req_url = (url + 'repos/' + gitea_org + '/' + repo['name'] + @@ -140,7 +153,7 @@ def get_failed_gitea_commits(pull, url, gitea_org, repo, headers): host='gitea', url=pull['url'], status=res_sta.json()[0]['status'], - target_url=res_sta.json()[0]['target_url'], + zuul_url=res_sta.json()[0]['target_url'], created_at=pull['created_at'], updated_at=res_sta.json()[0]['updated_at'], error=1000 @@ -156,6 +169,9 @@ def get_failed_gitea_commits(pull, url, gitea_org, repo, headers): return failed_commits def get_github_repos(url, headers, gh_org): + """ + Get all repositories of one GitHub organization + """ repositories = [] i = 1 @@ -178,6 +194,9 @@ def get_github_repos(url, headers, gh_org): return repositories def get_github_prs(url, headers, gh_org, repo): + """ + Get all Pull Requests of one GitHub repository + """ pullrequests = [] i = 1 @@ -201,6 +220,9 @@ def get_github_prs(url, headers, gh_org, repo): return pullrequests def get_failed_gh_commits(pull, url, gh_org, repo, headers): + """ + Collect all Failed Pull Requests of one GitHub repository + """ failed_commits = [] try: req_url = (url + 'repos/' + gh_org + '/' + repo['name'] + @@ -213,7 +235,7 @@ def get_failed_gh_commits(pull, url, gh_org, repo, headers): host='github', url=pull['html_url'], status=res_sta.json()['check_runs'][0]['conclusion'], - target_url=(res_sta.json()['check_runs'] + zuul_url=(res_sta.json()['check_runs'] [0]['details_url']), created_at=pull['created_at'], updated_at=(res_sta.json()['check_runs'] @@ -240,13 +262,21 @@ def get_failed_gh_commits(pull, url, gh_org, repo, headers): return failed_commits def create_json_result(failed_commits): - failed_commits_json = [] - for o in failed_commits: - failed_commits_json.append(vars(o)) + """ + Create Result + """ result = {} result['meta'] = {} - result['meta']['count'] = len(failed_commits_json) - result['data'] = failed_commits_json + result['data'] = [] + if len(failed_commits) != 0: + failed_commits_json = [] + for o in failed_commits: + failed_commits_json.append(vars(o)) + result['meta']['count'] = len(failed_commits_json) + result['data'] = failed_commits_json + else: + result['meta']['count'] = 0 + return json.dumps(result)