summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md3
-rw-r--r--VG101GradeHelper.py5
-rw-r--r--worker/GiteaWorker.py14
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,