diff --git a/resources/images/professor-ubuntu/server/cronjob.sh b/resources/images/professor-ubuntu/server/cronjob.sh index 57e36bd..6dc49c8 100644 --- a/resources/images/professor-ubuntu/server/cronjob.sh +++ b/resources/images/professor-ubuntu/server/cronjob.sh @@ -1,6 +1,6 @@ #!/bin/bash crontab -l > file1 -echo "$1 $2 $3 $4 * /bin/bash /root/workdir/server/getAssignments.sh $5 > /proc/1/fd/1 2>/proc/1/fd/2" >> file1 +echo "$1 $2 $3 $4 * /bin/bash /root/workdir/server/getAssignments.sh $5 $6 > /proc/1/fd/1 2>/proc/1/fd/2" >> file1 cat file1 | crontab - rm -rf file1 diff --git a/resources/images/professor-ubuntu/server/getAssignments.py b/resources/images/professor-ubuntu/server/getAssignments.py index 54cd449..552e7d3 100644 --- a/resources/images/professor-ubuntu/server/getAssignments.py +++ b/resources/images/professor-ubuntu/server/getAssignments.py @@ -8,6 +8,8 @@ import base64 assignment_id = sys.argv[1] +lecture_id = sys.argv[2] + json_str = requests.get( Urls.base_url+"/assignments/"+assignment_id+"/urls").text data_users_assigned = list(json.loads(json_str)) # json to list[dict] @@ -20,7 +22,7 @@ encoded_dir_path_student = base64.b64encode(( dir_path_student+"/"+assignment_id).encode('ascii')).decode('ascii') # base64 encode urlmodel = json.loads(requests.get( - Urls.base_url+"/urls/"+user["id"]).text) + Urls.base_url+"/users/"+user["id"]+"/"+lecture_id+"/url").text) url = urlmodel["apiEndpoint"]+"/files/" + encoded_dir_path_student json_str = requests.get(url).text # json to dict diff --git a/resources/images/professor-ubuntu/server/getAssignments.sh b/resources/images/professor-ubuntu/server/getAssignments.sh index 0c693de..ac2a018 100644 --- a/resources/images/professor-ubuntu/server/getAssignments.sh +++ b/resources/images/professor-ubuntu/server/getAssignments.sh @@ -1,3 +1,3 @@ #!/bin/bash source /etc/profile > /dev/null 2>&1 -/usr/bin/python3 /root/workdir/server/getAssignments.py $1 \ No newline at end of file +/usr/bin/python3 /root/workdir/server/getAssignments.py $1 $2 \ No newline at end of file diff --git a/resources/images/professor-ubuntu/server/main.py b/resources/images/professor-ubuntu/server/main.py index 151da62..e413220 100644 --- a/resources/images/professor-ubuntu/server/main.py +++ b/resources/images/professor-ubuntu/server/main.py @@ -27,10 +27,10 @@ ) -def schedule_cronjob(dt, assignment_id): +def schedule_cronjob(dt, assignment_id, lecture_id): month, day, hour, minute = dt[1], dt[2], dt[3], dt[4] - os.system('/bin/bash %s/cronjob.sh %d %d %d %d %s' % - (os.path.dirname(os.path.realpath(__file__)), minute, hour, day, month, assignment_id)) + os.system('/bin/bash %s/cronjob.sh %d %d %d %d %s %s' % + (os.path.dirname(os.path.realpath(__file__)), minute, hour, day, month, assignment_id, lecture_id)) def create_directories(assignment_id, data_users_assigned): @@ -55,6 +55,7 @@ def create_directories(assignment_id, data_users_assigned): @app.post("/assignments/") async def create_assignment(assignment_info: Dto.AssignmentModel = None): assignment_id = assignment_info.assignment_id + lecture_id = assignment_info.lecture_id json_str = requests.get( Urls.base_url+"/assignments/"+assignment_id+"/urls").text data_users_assigned = list(json.loads(json_str)) @@ -64,7 +65,7 @@ async def create_assignment(assignment_info: Dto.AssignmentModel = None): create_directories(assignment_id, data_users_assigned) # cron - schedule_cronjob(due_date, assignment_id) + schedule_cronjob(due_date, assignment_id, lecture_id) return True