From 718ebd6ec0b517e7357640fad912ff184d543242 Mon Sep 17 00:00:00 2001 From: BoYanZh <32470225+BoYanZh@users.noreply.github.com> Date: Fri, 2 Oct 2020 12:38:54 +0800 Subject: update: add --dir option --- README.md | 3 ++- VG101GradeHelper.py | 5 +++++ worker/GiteaWorker.py | 14 +++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 10aba6a..0f9728d 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ $ vim hgroups.json $ mv settings.example.py settings.py $ vim settings.py $ ./VG101GradeHelper.py --help -usage: VG101GradeHelper.py [--help] [-h HW] [-p PROJ] [-m MS] [-a] [-s] [-t] [-i] [-g] [-j] [-u] +usage: VG101GradeHelper.py [--help] [-h HW] [-p PROJ] [-m MS] [-a] [-s] [-t] [-d] [-i] [-g] [-j] [-u] optional arguments: --help show this help message and exit @@ -23,6 +23,7 @@ optional arguments: -a, --all check all -s, --score generate score -t, --tidy check tidy + -d, --dir create dir for indiviual submission -i, --indv check indiviual submission -g, --group check group submission -j, --joj check joj score diff --git a/VG101GradeHelper.py b/VG101GradeHelper.py index 92bfc50..6918d6f 100644 --- a/VG101GradeHelper.py +++ b/VG101GradeHelper.py @@ -22,6 +22,10 @@ def parse(): action='store_true', help='generate score') parser.add_argument('-t', '--tidy', action='store_true', help='check tidy') + parser.add_argument('-d', + '--dir', + action='store_true', + help='create dir for indiviual submission') parser.add_argument('-i', '--indv', action='store_true', @@ -44,6 +48,7 @@ def parse(): exit(0) if args.all: args.indv = True + args.dir = True args.group = True args.joj = True args.tidy = True diff --git a/worker/GiteaWorker.py b/worker/GiteaWorker.py index d7677c8..bb7ac0b 100644 --- a/worker/GiteaWorker.py +++ b/worker/GiteaWorker.py @@ -1,4 +1,3 @@ -from logging import FATAL from shutil import ignore_patterns, copytree, rmtree from util import Logger import multiprocessing @@ -55,10 +54,10 @@ class GiteaWorker(): repo.git.checkout(f"{stuID}", "-f") repo.git.pull("origin", f"{stuID}", "--rebase", "-f") repo.git.reset(f"origin/{stuID}", "--hard") - # copytree(os.path.join( 'hwrepos', repoName), - # os.path.join( 'indv', - # f"{repoName} {stuID} {stuName}"), - # ignore=ignore_patterns('.git')) + if self.args.dir: + copytree(os.path.join('hwrepos', repoName), + os.path.join('indv', f"{repoName} {stuID} {stuName}"), + ignore=ignore_patterns('.git')) if not os.path.exists( os.path.join('hwrepos', repoName, f"h{hwNum}")): self.logger.warning( @@ -173,8 +172,9 @@ class GiteaWorker(): self.logger.debug(f"{repoName} pull succeed") def checkIndv(self): - # if os.path.exists(os.path.join( 'indv')): - # rmtree(os.path.join( 'indv')) + if self.args.dir: + if os.path.exists(os.path.join('indv')): + rmtree(os.path.join('indv')) hwNum, tidy = self.args.hw, self.args.tidy with multiprocessing.Pool(self.processCount) as p: res = p.starmap(self.checkIndvProcess, -- cgit v1.2.3