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!')
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!')