diff --git a/Helper/report_helper.py b/Helper/report_helper.py index 78de4a75075629bc4fc69897936d8144a7259217..358ad8532d1500d4f0fc7f7daba696261e4a6443 100644 --- a/Helper/report_helper.py +++ b/Helper/report_helper.py @@ -97,8 +97,8 @@ class ReportHelper(object): @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_sig_name()) - print("Total sig num: ", len(sig_list)) print("===== Print Sig List Done =====") diff --git a/Helper/sig_helper.py b/Helper/sig_helper.py index a711a6a486857c12d13413198c78610ea242eab6..205b78e0b1796f40c32993d67e3fc4e752ef86b6 100644 --- a/Helper/sig_helper.py +++ b/Helper/sig_helper.py @@ -26,9 +26,9 @@ from utils.Package import Package from Helper.package_helper import PackageHelper -sig_info_url = "https://gitee.com/openeuler/community/raw/master/sig/sigs.yaml" +url_sigs = "https://gitee.com/openeuler/community/tree/master/sig" sig_pattern = r"- name: (.*)" -openeuler_software_pattern = r"- (openeuler/.*)" +openeuler_software_pattern = r'"/openeuler/community/tree/master/sig/(.*)"' src_openeuler_software_pattern = r"- (src-openeuler/.*)" BlockList = [ @@ -43,18 +43,16 @@ class SigHelper(object): print("===== Start Init Sig Info... =====") tmp_sig = None - page = urllib.request.urlopen(sig_info_url) + page = urllib.request.urlopen(url_sigs) contents = page.read().decode('utf-8') - # print(contents) + pattern = re.compile(openeuler_software_pattern) + signames = pattern.findall(contents) + for signame in signames[1:]: + sig = Sig(signame) + sig_list.append(sig) + # print(sig_list) lines = contents.split("\n") for line in lines: - result = re.search(sig_pattern, line) - if result: - # print("get one sig: ", result.group(1)) - tmp_sig = Sig(result.group(1)) - sig_list.append(tmp_sig) - continue - result = re.search(openeuler_software_pattern, line) if result: # print("get one openeuler software: ", result.group(1)) diff --git a/README.md b/README.md index 30a0b29966489f7887acfdb274c71fde63e8ac83..1cff6f47bf7281c868bb9abe928f5f742a175f4c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,54 @@ -openeuler-wiki-bot -============== +# openeuler-wiki-bot +=============================================================================== + +## 功能介绍 + +定位为openEuler运营助手,用于帮助开发者查询openEuler相关信息,帮助运营者获取openEuler相关报告,目前想到的功能为: + +- 查询openEuler整体相关信息 + - openEuler包含哪些SIG + - openEuler上SIG运营情况 + - openEuler上有哪些分支 + - openEuler已发布哪些版本 + - openEuler后续版本计划 + - openEuler南北向兼容列表 + - openEuler上安全漏洞发布情况 + - 。。。 + +- 生成openEuler整体运营报告 + - openEuler上sig运营报告 + - openEuler上版本发布报告 + - openEuler上软件包发布计划 + - openEuler上issue和pr报告 + - openEuler上开发者活跃报告 + - openEuler上maintainer活跃报告 + +- 查询openEuler上sig相关信息 + - openEuler上sig的maintainer + - openEuler上sig的代码仓 + - openEuler上sig的开发 + - openEuler上sig的issue + - openEuler上sig的pr + - openEuler上sig的maintainer参与情况 + +- 生成openEuler上sig相关报告 + - openEuler上sig的maintainer活跃报告 + - openEuler上sig的开发者活跃报告 + - openEuler上sig的issue和pr报告 + +- 查询openEuler上代码仓相关信息 + - openEuler上代码仓的issue + - openEuler上代码仓的pr + +- 生成openEuler上代码仓相关报告 + - openEuler上代码仓的maintainer活跃报告 + - openEuler上代码仓的开发者活跃报告 + - openEuler上代码仓的issue和pr报告 + ## 使用方法 + +### 帮助信息 + ```bash usage: openeuler-wiki-bot.py [-h] [-l] [-r] [-s SIG] [-a] @@ -14,12 +62,54 @@ optional arguments: -a, --all Report information for all sig. ``` -#### 举例:获取sig列表 +### 查询openEuler整体相关信息 +待开发 + +#### openEuler包含哪些SIG + ```bash -./openeuler-wiki-bot.py -l +python openeuler-wiki-bot.py -l +===== Start Init Sig Info... ===== +===== Init Sig Info Done ===== +===== Start Print Sig List ===== +Total sig num: 95 +A-Tune +Application +Base-service +Compiler +Computing +DB +Desktop +G11N +GNOME +... +sig-template +user-committee +xfce +===== Print Sig List Done ===== ``` +### 生成openEuler代码仓整体运营报告 + +待开发 + +### 查询openEuler代码仓上sig相关信息 + #### 举例:获取sig-ai-bigdata的所有issue和pr + ```bash ./openeuler-wiki-bot.py -r -s sig-ai-bigdata +===== Start Init Sig Info... ===== +===== Init Sig Info Done ===== +===== Start Process Sig Pull Request ===== +===== Process Sig Pull Request Done ===== +===== Start Process Sig Issue ===== +===== Process Sig Issue Done ===== +===== Start Generate Report ===== +===== Generate Report Done ===== +Report file: sig_info.xlsx ``` + +### 生成openEuler代码仓上sig相关报告 + +待开发 diff --git a/openeuler-wiki-bot.py b/openeuler-wiki-bot.py index f86f081d491e61d604f44eb6b37b44a5598633e2..6013795e7bf66286c2ab92855893df8291af6b27 100755 --- a/openeuler-wiki-bot.py +++ b/openeuler-wiki-bot.py @@ -26,13 +26,13 @@ sig_list = [] def init_parser(): - cmd_parser = argparse.ArgumentParser(description="openEuler wiki bot.") + cmd_parser = argparse.ArgumentParser(description="The openEuler wiki robot.") - cmd_parser.add_argument("-l", "--list", action="store_true", default=False, help="List all sig info.") - cmd_parser.add_argument("-r", "--report", action="store_true", default=False, help="Generate information report.") + cmd_parser.add_argument("-l", "--list", action="store_true", default=False, help="list all sig names") + cmd_parser.add_argument("-r", "--report", action="store_true", default=False, help="generate information report") - cmd_parser.add_argument("-s", "--sig", type=str, help="Specify sig group.") - cmd_parser.add_argument("-a", "--all", action="store_true", default=False, help="Report information for all sig.") + cmd_parser.add_argument("-s", "--sig", type=str, help="get a specific sig information") + cmd_parser.add_argument("-a", "--all", action="store_true", default=False, help="get all sig information") return cmd_parser