From 1d93ff72264f93224b84a2db682be8e4d0186df7 Mon Sep 17 00:00:00 2001 From: BoYanZh Date: Wed, 13 Oct 2021 02:54:52 +0800 Subject: [PATCH] feat: add example usage for ve482 p1 pre-check --- examples/ve482.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 examples/ve482.py diff --git a/examples/ve482.py b/examples/ve482.py new file mode 100644 index 0000000..86ed9fb --- /dev/null +++ b/examples/ve482.py @@ -0,0 +1,51 @@ +import glob +import ntpath + +from joint_teapot import Teapot, logger + + +class MyTeapot(Teapot): + def ve482p1(self) -> None: + for repo_name in self.gitea.get_all_repo_names(): + if not repo_name.endswith("p1"): + continue + faults = [] + succeed = self.checkout_to_repo_by_release_name(repo_name, "p1") + if succeed: + contain_c_file = False + contain_readme_file = False + for fn in glob.glob(f"{self.git.repos_dir}/{repo_name}/*.*"): + basename = ntpath.basename(fn) + if basename.endswith(".c"): + contain_c_file = True + if basename.lower().startswith("readme"): + contain_readme_file = True + if not contain_c_file: + faults.append( + "no C file found in root directory in release p1, " + "can not compile on JOJ" + ) + if not contain_readme_file: + faults.append( + "no README file found in root directory in release p1" + ) + else: + faults.append("no release named p1") + if faults: + fault_string = "" + for fault in faults: + fault_string += f"- {fault}\n" + logger.info("\n".join(("", repo_name, "", fault_string))) + self.gitea.issue_api.issue_create_issue( + self.gitea.org_name, + repo_name, + body={ + "body": fault_string, + "title": "p1 submission pre-check failed", + }, + ) + + +if __name__ == "__main__": + teapot = MyTeapot() + teapot.ve482p1()