Exemplo n.º 1
0
def upload():
    if 'input_file' not in request.files:
        return badRequest('no input file')
    file = request.files['input_file']

    if Project.allowed_file(file.filename):

        errors = []
        for field in ['project_title', 'authors']:
            if request.form.get(field) is None:
                errors.append(f"{field} field missing in request")
        if errors != []:
            return badRequest(errors)

        filename = secure_filename(file.filename)
        new_project = Project()
        new_project.owner = current_user.id
        new_project.authors = request.form.get('authors')
        new_project.title = request.form.get('project_title')
        new_project.hashFilename(filename)
        new_project.file_data = file.read()
        new_project.pdf_page_count = request.form.get('pdf_page_count')
        db.session.add(new_project)
        db.session.commit()
        return jsonify('upload success'), 201

    return errorResponse(415, 'upload a .pdf file!')
Exemplo n.º 2
0
def upload():
    if 'input_file' not in request.files:
        return badRequest('no input file')
    file = request.files['input_file']

    if Project.allowed_file(file.filename):
        errors = []
        for field in ['project_title', 'authors']:
            if request.form.get(field) is None:
                errors.append(f"{field} field missing in request")
        if errors != []:
            return badRequest(errors)
        try:
            date_in_req = datetime.strptime(request.form.get('date_created'),
                                            '%Y-%m-%d')
        except:
            return badRequest('invalid date format. expected "yyyy-mm-dd"')

        filename = secure_filename(file.filename)
        new_project = Project()
        #try:
        new_project.owner = g.current_user.id
        new_project.authors = request.form.get('authors')
        new_project.title = request.form.get('project_title')
        new_project.supervisor = request.form.get('supervisor')
        new_project.tags = request.form.get('tags')
        new_project.date_created = date_in_req
        new_project.hashFilename(filename)
        #new_project.author = g.current_user

        try:
            new_project.file_data = file.read()
        except:
            return jsonify({"message": "file not found"})

        new_project.pdf_page_count = request.form.get('pdf_page_count')

        db.session.add(new_project)
        db.session.commit()
        return jsonify('upload success'), 201
        #except:
        #return jsonify({"message":"failed"})

    return errorResponse(415, 'upload a .pdf file!')