Exemplo n.º 1
0
def upload(lti=lti):
    assignment_id = request.form.get('assignment_id', None)
    course_id = request.values.get('course_id',
                                   g.course.id if 'course' in g else None)
    if None in (assignment_id, course_id):
        return jsonify(success=False,
                       message="No Assignment ID or Course ID given!")
    max_questions = int(request.values.get('max_questions', '4'))
    submission = Submission.load(g.user.id, int(assignment_id), int(course_id))

    # Get the uploaded information
    data_file = request.files.get('files')
    if not data_file:
        return jsonify(success=False, invalid=True, message="No data file!")
    code_submission = data_file.read().strip()
    try:
        elements = find_elements(code_submission)
    except SyntaxError:
        return jsonify(success=True,
                       invalid=True,
                       message="Your python file has errors in it.")
    submission_destructured = submission.save_explanation_code(
        code_submission, elements)

    code, elements = submission.load_explanation(max_questions)

    return jsonify(success=True, invalid=False, code=code, elements=elements)
Exemplo n.º 2
0
def upload(lti=lti):
    assignment_id = request.values.get('assignment_id', None)
    max_questions = int(request.values.get('max_questions', '5'))
    if assignment_id is None:
        return jsonify(success=False, invalid=False, message="No Assignment ID given!")
    user = User.from_lti("canvas", session["pylti_user_id"], 
                         session.get("user_email", ""),
                         session.get("lis_person_name_given", ""),
                         session.get("lis_person_name_family", ""))
    submission = Submission.load(user.id, assignment_id)
    
    # Get the uploaded information
    data_file = request.files.get('files')
    if not data_file:
        return jsonify(success=False, invalid=True, message="No data file!")
    code_submission = data_file.read()
    try:
        elements = find_elements(code_submission)
    except SyntaxError:
        return jsonify(success=True, invalid=True, message="Your python file has errors in it.")
    submission_destructured = submission.save_explanation_code(code_submission, elements)
    
    code, elements = submission.load_explanation(max_questions)
    
    return jsonify(success=True, invalid=False, code=code, elements=elements)
Exemplo n.º 3
0
def upload(lti=lti):
    assignment_id = request.values.get('assignment_id', None)
    max_questions = int(request.values.get('max_questions', '5'))
    if assignment_id is None:
        return jsonify(success=False,
                       invalid=False,
                       message="No Assignment ID given!")
    user = User.from_lti("canvas", session["pylti_user_id"],
                         session.get("user_email", ""),
                         session.get("lis_person_name_given", ""),
                         session.get("lis_person_name_family", ""))
    submission = Submission.load(user.id, assignment_id)

    # Get the uploaded information
    data_file = request.files.get('files')
    if not data_file:
        return jsonify(success=False, invalid=True, message="No data file!")
    code_submission = data_file.read()
    try:
        elements = find_elements(code_submission)
    except SyntaxError:
        return jsonify(success=True,
                       invalid=True,
                       message="Your python file has errors in it.")
    submission_destructured = submission.save_explanation_code(
        code_submission, elements)

    code, elements = submission.load_explanation(max_questions)

    return jsonify(success=True, invalid=False, code=code, elements=elements)
Exemplo n.º 4
0
def get_history(lti=lti):
    assignment_id = request.values.get('assignment_id', None)
    assignment_version = int(request.values.get('version', -1))
    course_id = request.values.get('course_id',  g.course.id if 'course' in g else None)
    if None in (assignment_id, course_id) or course_id == "":
        return jsonify(success=False, message="No Assignment ID or Course ID given!")
    submission = Submission.load(g.user.id, assignment_id, int(course_id))
    return jsonify(success=True, data=submission.get_history())
Exemplo n.º 5
0
def download():
    assignment_id = request.values.get('assignment_id', None)
    if assignment_id is None:
        return jsonify(success=False, message="No Assignment ID given!")
    user = User.from_lti("canvas", session["pylti_user_id"], 
                         session.get("user_email", ""),
                         session.get("lis_person_name_given", ""),
                         session.get("lis_person_name_family", ""))
    submission = Submission.load(user.id, assignment_id)
    submission_destructured = submission.load_explanation()
    return jsonify(success=True, **submission_destructured)
Exemplo n.º 6
0
def download():
    assignment_id = request.values.get('assignment_id', None)
    if assignment_id is None:
        return jsonify(success=False, message="No Assignment ID given!")
    user = User.from_lti("canvas", session["pylti_user_id"],
                         session.get("user_email", ""),
                         session.get("lis_person_name_given", ""),
                         session.get("lis_person_name_family", ""))
    submission = Submission.load(user.id, assignment_id)
    submission_destructured = submission.load_explanation()
    return jsonify(success=True, **submission_destructured)
Exemplo n.º 7
0
def upload():
    assignment_id = request.values.get('assignment_id', None)
    if assignment_id is None:
        return jsonify(success=False, message="No Assignment ID given!")
    user = User.from_lti("canvas", session["pylti_user_id"], 
                         session.get("user_email", ""),
                         session.get("lis_person_name_given", ""),
                         session.get("lis_person_name_family", ""))
    submission = Submission.load(user.id, assignment_id)
    
    # Get the uploaded information
    data_file = request.files.get('files')
    if not data_file:
        return jsonify(success=False, message="No data file!")
    code_submission = data_file.read()
    
    submission_destructured = submission.save_explanation_code(code_submission)
    
    return jsonify(success=True, **submission_destructured)
    
Exemplo n.º 8
0
def upload(lti=lti):
    assignment_id = request.form.get('assignment_id', None)
    course_id = request.values.get('course_id', g.course.id if 'course' in g else None)
    if None in (assignment_id, course_id):
        return jsonify(success=False, message="No Assignment ID or Course ID given!")
    max_questions = int(request.values.get('max_questions', '4'))
    submission = Submission.load(g.user.id, int(assignment_id), int(course_id))
    
    # Get the uploaded information
    data_file = request.files.get('files')
    if not data_file:
        return jsonify(success=False, invalid=True, message="No data file!")
    code_submission = data_file.read().strip()
    try:
        elements = find_elements(code_submission)
    except SyntaxError:
        return jsonify(success=True, invalid=True, message="Your python file has errors in it.")
    submission_destructured = submission.save_explanation_code(code_submission, elements)
    
    code, elements = submission.load_explanation(max_questions)
    
    return jsonify(success=True, invalid=False, code=code, elements=elements)