示例#1
0
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))
示例#2
0
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)