diff --git a/Helper/project_helper.py b/Helper/project_helper.py index 4a6d4bfd6b2f9a3924b2a6ca4d51bb064ed7cb7b..3cf54b5d3cbe5b11cbf9281d8c5e40ab4862ec73 100644 --- a/Helper/project_helper.py +++ b/Helper/project_helper.py @@ -45,7 +45,6 @@ class ProjectHelp(object): issues = [] patten_issue = FORMAT_ISSUE.format(project.get_name()) issue_strings = get_all_pattern_strings_from_a_url(SRC_OPENEULER + project.get_name() + "/issues", patten_issue) - print(issue_strings) for e in issue_strings: issue = Issue('', GITEE + e, IssueStatus.OPEN) issues.append(issue) @@ -58,7 +57,6 @@ class ProjectHelp(object): prs = [] patten_pr = FORMAT_PULLREQUEST.format(project.get_name()) pr_strings = get_all_pattern_strings_from_a_url(SRC_OPENEULER + project.get_name() + "/pulls", patten_pr) - print(pr_strings) for e in pr_strings: pr = PullRequest('', GITEE + e, PullRequestStatus.OPEN) prs.append(pr) diff --git a/Helper/sig_helper.py b/Helper/sig_helper.py index 639de487adabf0897a8d2fbb7570b147dfbff321..f094f452a98acfce5a626e3a11d898c3d5728eb0 100644 --- a/Helper/sig_helper.py +++ b/Helper/sig_helper.py @@ -16,12 +16,7 @@ This is a wiki bot tool for assisting community governance # Create: 2021-01-12 # Description: This is a wiki bot tool for assisting community governance # ******************************************************************************/ - -import urllib.request -import re - from model.Sig import Sig -from model.Maintainer import Maintainer from model.Developer import Developer from model.Project import Project @@ -54,13 +49,18 @@ class SigHelper(object): # SigHelper.get_all_maintainer_names(sig_list) # »ñȡÿ¸ösigµÄprojectÐÅÏ¢ + print("Start to get all projects of each sig.") SigHelper.get_all_project_names(sig_list) for sig in sig_list: for project in sig.get_projects(): + print("Start to get all issues for project " + project.get_name()) issues = ProjectHelp.get_all_issues(project) project.add_issue(issues) + print("End to get all issues for project " + project.get_name()) + print("Start to get all pull requests for project " + project.get_name()) prs = ProjectHelp.get_all_prs(project) project.add_pr(prs) + print("End to get all pull requests for project " + project.get_name()) logger.info("End to get sig info.") @staticmethod @@ -88,11 +88,12 @@ class SigHelper(object): logger.info("Start to get all project names.") for sig in sig_list: url = URL_SIG + sig.get_name() + PATH_PROJECT + print("Start to get projects for sig " + sig.get_name()) names = get_all_pattern_strings_from_a_url(url, PATTERN_PROJECT) - print(sig.get_name(), names) for name in names: project = Project(name) sig.add_project(project) + print("End to get projects for sig " + sig.get_name()) logger.info("End to get all project names.") @staticmethod diff --git a/model/Issue.py b/model/Issue.py index 8622a54d365f737b27b9c5861d71c3a1a6efbfe8..07f190a4dbb8cc200a6b787c88a1bab99eed45f4 100644 --- a/model/Issue.py +++ b/model/Issue.py @@ -42,4 +42,3 @@ class IssueStatus(Enum): PROGRESSING = 2 CLOSED = 3 REJECTED = 4 - diff --git a/model/Project.py b/model/Project.py index 31597ddf3df79f1014a4df083eb80c695384bc0d..f885e5b9fe46ea005e0e17b16ac7992f99603174 100644 --- a/model/Project.py +++ b/model/Project.py @@ -27,10 +27,10 @@ class Project(object): self.__pull_requests = [] def add_issue(self, issue): - self.__issues.append(issue) + self.__issues = issue def add_pr(self, pr): - self.__pull_requests.append(pr) + self.__pull_requests = pr def get_name(self): return self.__name diff --git a/model/Sig.py b/model/Sig.py index 5194913171f33335f389c5501b7132d399d480a4..38c176399b2f14d1f70e99da41ca92e407354c34 100644 --- a/model/Sig.py +++ b/model/Sig.py @@ -39,5 +39,3 @@ class Sig(object): def get_maintainers(self): return self.__maintainers - - diff --git a/openeuler-wiki-bot.py b/openeuler-wiki-bot.py index ca66092931ba845fcea8dc8955696d0ae744eab6..458d0c7d233b7318654efb26d9493ca4d8626781 100755 --- a/openeuler-wiki-bot.py +++ b/openeuler-wiki-bot.py @@ -19,7 +19,7 @@ This is a wiki bot tool for assisting community governance import argparse from Helper.sig_helper import SigHelper -from report.stand import ReportHelper +from report.stand import StandReportHelper sig_list = [] @@ -37,7 +37,7 @@ def init_parser(): def process_list(): SigHelper.init_sig_info(sig_list) - ReportHelper.print_sig_list(sig_list) + StandReportHelper.print_sig_list(sig_list) def process_report_specified_sig(command_args): @@ -47,7 +47,7 @@ def process_report_specified_sig(command_args): tmp_sig_list = [sig] SigHelper.process_sig_pr(tmp_sig_list) SigHelper.process_sig_issue(tmp_sig_list) - ReportHelper.generate_report(tmp_sig_list) + StandReportHelper.generate_report(tmp_sig_list) return print("Unrecognized sig: ", command_args.sig, ", please check input.") @@ -56,7 +56,7 @@ def process_report_all(): SigHelper.init_sig_info(sig_list) SigHelper.process_sig_pr(sig_list) SigHelper.process_sig_issue(sig_list) - ReportHelper.generate_report(sig_list) + StandReportHelper.generate_report(sig_list) def process_report(command_args): diff --git a/Helper/report_helper.py b/report/excel.py similarity index 83% rename from Helper/report_helper.py rename to report/excel.py index e6b3f6f952bb845d45f72a8413e860c35e83d1a5..36f6197fa82e749d3eb706b925b100ad0e511aa7 100644 --- a/Helper/report_helper.py +++ b/report/excel.py @@ -20,7 +20,7 @@ This is a wiki bot tool for assisting community governance import xlsxwriter -class ReportHelper(object): +class ExcelReportHelper(object): @staticmethod def generate_sheet_sig(sig_sheet, sig_list): @@ -82,29 +82,14 @@ class ReportHelper(object): print("===== Start Generate Report =====") workbook = xlsxwriter.Workbook(file_path) sig_sheet = workbook.add_worksheet(name="sig_info") - ReportHelper.generate_sheet_sig(sig_sheet, sig_list) + ExcelReportHelper.generate_sheet_sig(sig_sheet, sig_list) pr_sheet = workbook.add_worksheet(name="pr_info") - ReportHelper.generate_sheet_pr(pr_sheet, sig_list) + ExcelReportHelper.generate_sheet_pr(pr_sheet, sig_list) issue_sheet = workbook.add_worksheet(name="issue_info") - ReportHelper.generate_sheet_issue(issue_sheet, sig_list) + ExcelReportHelper.generate_sheet_issue(issue_sheet, sig_list) workbook.close() print("===== Generate Report Done =====") print("Report file: ", file_path) - - @staticmethod - def print_sig_list(sig_list): - print("===== Start Print Sig List =====") - print("Total sig num: ", len(sig_list)) - for sig in sig_list: - print(sig.get_name()) - print("maintainers:") - for maintainer in sig.get_maintainers(): - print(maintainer.get_name()) - print("projects:") - for project in sig.get_projects(): - print(project.get_name()) - print("===== Print Sig List Done =====") - diff --git a/report/stand.py b/report/stand.py index 831683262c6809bb997e74099770c70ba83573f6..4f6495f127a4802ba2a13baab05a46b9613dae8a 100644 --- a/report/stand.py +++ b/report/stand.py @@ -17,82 +17,8 @@ This is a wiki bot tool for assisting community governance # Description: This is a wiki bot tool for assisting community governance # ******************************************************************************/ -import xlsxwriter - -class ReportHelper(object): - - @staticmethod - def generate_sheet_sig(sig_sheet, sig_list): - sig_sheet.write('A1', 'Sig') - sig_sheet.write('B1', '软件包') - sig_sheet.write('C1', '软件包URL') - - row = 1 - col = 0 - for sig in sig_list: - for package in sig.get_package_list(): - sig_sheet.write(row, col, sig.get_sig_name()) - sig_sheet.write(row, col + 1, package.get_package_name()) - sig_sheet.write(row, col + 2, package.get_url()) - row = row + 1 - - @staticmethod - def generate_sheet_pr(pr_sheet, sig_list): - pr_sheet.write('A1', 'Sig') - pr_sheet.write('B1', '软件包') - pr_sheet.write('C1', '软件包URL') - pr_sheet.write('D1', 'PR title') - pr_sheet.write('E1', 'PR url') - - row = 1 - col = 0 - for sig in sig_list: - for package in sig.get_package_list(): - for pr in package.get_pr_list(): - pr_sheet.write(row, col, sig.get_sig_name()) - pr_sheet.write(row, col + 1, package.get_package_name()) - pr_sheet.write(row, col + 2, package.get_url()) - pr_sheet.write(row, col + 3, pr.get_title()) - pr_sheet.write(row, col + 4, pr.get_url()) - row = row + 1 - - @staticmethod - def generate_sheet_issue(issue_sheet, sig_list): - issue_sheet.write('A1', 'Sig') - issue_sheet.write('B1', '软件包') - issue_sheet.write('C1', '软件包URL') - issue_sheet.write('D1', 'Issue title') - issue_sheet.write('E1', 'Issue url') - - row = 1 - col = 0 - for sig in sig_list: - for package in sig.get_package_list(): - for issue in package.get_issue_list(): - issue_sheet.write(row, col, sig.get_sig_name()) - issue_sheet.write(row, col + 1, package.get_package_name()) - issue_sheet.write(row, col + 2, package.get_url()) - issue_sheet.write(row, col + 3, issue.get_title()) - issue_sheet.write(row, col + 4, issue.get_url()) - row = row + 1 - - @staticmethod - def generate_report(sig_list, file_path='sig_info.xlsx'): - print("===== Start Generate Report =====") - workbook = xlsxwriter.Workbook(file_path) - sig_sheet = workbook.add_worksheet(name="sig_info") - ReportHelper.generate_sheet_sig(sig_sheet, sig_list) - - pr_sheet = workbook.add_worksheet(name="pr_info") - ReportHelper.generate_sheet_pr(pr_sheet, sig_list) - - issue_sheet = workbook.add_worksheet(name="issue_info") - ReportHelper.generate_sheet_issue(issue_sheet, sig_list) - - workbook.close() - print("===== Generate Report Done =====") - print("Report file: ", file_path) +class StandReportHelper(object): @staticmethod def print_sig_list(sig_list):