def homework_download(courseid, homeworkid, studentuserid): cookies = request.cookies if not 'session' in cookies: return jsonify(res=PARAMETER_WRONG) session = cookies['session'] from lib import get_userid_by_session userid = get_userid_by_session(session) if userid == None: return jsonify(res=USER_NOT_LOGIN_IN) from lib import check_is_course_teacher res = check_is_course_teacher(userid, courseid) if res == False: return jsonify(res=PERMISSION_DENIED) from lib import check_homework_exist res = check_homework_exist(homeworkid) if res == False: return jsonify(res=PERMISSION_DENIED) if '.' in studentuserid: import os path = os.path.realpath(__file__).split('/')[:-2] path = '/'.join(path) + '/course/%s/homework/%s'%(courseid, homeworkid) filename = studentuserid return send_from_directory(path.encode('utf-8'), filename, as_attachment=True) else: import os path = os.path.realpath(__file__).split('/')[:-2] path = '/'.join(path) + '/course/%s/homework/%s'%(courseid, homeworkid) all_file = os.walk(path) for (a,b,c) in all_file: for item in c: if item.split('.')[0] == studentuserid: filename = item return redirect('/homework/download/%s/%s/%s'%(courseid,homeworkid,filename))
def homework_submit(courseid, homeworkid): cookies = request.cookies if not 'session' in cookies: return jsonify(res=PARAMETER_WRONG) session = cookies['session'] from lib import get_userid_by_session userid = get_userid_by_session(session) if userid == None: return jsonify(res=USER_NOT_LOGIN_IN) if request.method == 'POST': from lib import check_attend_course res = check_attend_course(userid, courseid, False) if res == False: return jsonify(res=PERMISSION_DENIED) from lib import check_homework_exist res = check_homework_exist(homeworkid) if res == False: return jsonify(res=PERMISSION_DENIED) files = request.files f = files['file'] filename = f.filename filetype = filename.split('.')[-1] filename = userid + '.' + filetype import os path = os.path.realpath(__file__).split('/')[:-2] dirpath = '/'.join(path) + '/course/%s/homework/%s'%(courseid, homeworkid) os.system("mkdir -p %s"%dirpath) path = '/'.join(path) + '/course/%s/homework/%s/%s'%(courseid, homeworkid, filename) f.save(path) from lib import homework_submit homework_submit(userid, homeworkid) return jsonify(res=SUCCESS) else: from lib import check_is_course_teacher res = check_is_course_teacher(userid, courseid) if res == False: return jsonify(res=PERMISSION_DENIED) from lib import check_homework_exist res = check_homework_exist(homeworkid) if res == False: return jsonify(res=PERMISSION_DENIED) from lib import get_studentlist_by_courseid studentlist = get_studentlist_by_courseid(courseid) from lib import get_homeworksubmit_by_homeworkid homeworksubmit = get_homeworksubmit_by_homeworkid(homeworkid) res = [] for item in studentlist: if item[0] in homeworksubmit: res.append({'userid':item[0],'name':item[1],'studentid':item[2],'issubmit':'1'}) else: res.append({'userid':item[0],'name':item[1],'studentid':item[2],'issubmit':'0'}) return jsonify(res=SUCCESS, homework=res)