def upload_file(): if request.method == 'POST': if 'projectName' in request.form: project_name = str(request.form['projectName']) if 'inputFile' not in request.files: response = {'status_code': 400, 'message': 'No file selected'} response = make_response(response) return response file = request.files['inputFile'] if file.filename == '': response = {'status_code': 400, 'message': 'No file selected'} response = make_response(response) return response if file: filename = secure_filename(file.filename) filelocation = os.path.join(uploads_dir, filename) file.save(filelocation) with open(filelocation) as csv_file: csv_reader = csv.reader(csv_file, delimiter=",") is_first_line = True for row in csv_reader: if is_first_line: is_first_line = False else: document = Document(ObjectId(row[0]), [], row[1]) # Find project database and populate document collection project = Project(project_name, [], []) project.add_document(document) # Delete file when done os.remove(filelocation) response = { 'status_code': 200, 'message': 'Documents imported successfully' } return make_response(response) else: response = { 'status_code': 400, 'message': 'No project id provided' } response = make_response(response) return response
def upload_file(): id_token = request.args.get('id_token') if id_token is None or id_token == "": response = { 'message': "ID Token is not included with the request uri in args" } response = make_response(response) return response, 400 requestor_email = get_email(id_token) if requestor_email is None: response = {'message': "ID Token has expired or is invalid"} response = make_response(response) return response, 400 if request.method == 'POST': if 'projectName' in request.form: project_name = str(request.form['projectName']) else: response = {'message': 'No project id provided'} response = make_response(response) return response, 400 users_col = get_col(project_name, "users") requestor = users_col.find_one({ 'email': requestor_email, 'isContributor': True }) if requestor is None: response = { 'message': "You are not authorised to perform this action" } response = make_response(response) return response, 403 if 'inputFile' not in request.files: response = {'message': 'No file selected'} response = make_response(response) return response, 400 file = request.files['inputFile'] if file.filename == '': response = {'message': 'No file selected'} response = make_response(response) return response, 400 if file: filename = secure_filename(file.filename) filelocation = os.path.join(uploads_dir, filename) file.save(filelocation) with open(filelocation) as csv_file: csv_reader = csv.reader(csv_file, delimiter=",") is_first_line = True for row in csv_reader: if is_first_line: is_first_line = False else: document = Document(row[1], [], []) # Find project database and populate document collection project = Project(project_name, [], []) project.add_document(document) # Delete file when done os.remove(filelocation) response = {'message': 'Documents imported successfully'} response = make_response(response) return response, 200