def parse_upload_form(): f = request.files.get('file') data = [] if f and allowed_file(f.filename): extension = str(f.filename.rsplit('.', 1)[1].lower()) if extension == "xlsx" or extension == "xls": workbook = xlrd.open_workbook(file_contents=f.read()) worksheet = workbook.sheet_by_index(0) data = list(utils.cast_row(worksheet.row_values(rx, 0, 3)) for rx in range(worksheet.nrows) if worksheet.row_len(rx) == 3) elif extension == "csv": data = utils.data_from_csv_string(f.read().decode("utf-8")) else: csv = request.form['data'] data = utils.data_from_csv_string(csv) return data
def parse_upload_form(): f = request.files['file'] data = [] if f and allowed_file(f.filename): extension = str(f.filename.rsplit('.', 1)[1].lower()) if extension == "xlsx" or extension == "xls": workbook = xlrd.open_workbook(file_contents=f.read()) worksheet = workbook.sheet_by_index(0) data = list(utils.cast_row(worksheet.row_values(rx, 0, 3)) for rx in range(worksheet.nrows) if worksheet.row_len(rx) == 3) elif extension == "csv": data = utils.data_from_csv_string(f.read().decode("utf-8")) else: csv = request.form['data'] data = utils.data_from_csv_string(csv) return data
def item(): action = request.form['action'] if action == 'Submit': csv = request.form['data'] data = utils.data_from_csv_string(csv) for row in data: _item = Item(*row) db.session.add(_item) db.session.commit() elif action == 'Prioritize' or action == 'Cancel': item_id = request.form['item_id'] target_state = action == 'Prioritize' Item.by_id(item_id).prioritized = target_state db.session.commit() elif action == 'Disable' or action == 'Enable': item_id = request.form['item_id'] target_state = action == 'Enable' Item.by_id(item_id).active = target_state db.session.commit() elif action == 'Delete': item_id = request.form['item_id'] try: db.session.execute( ignore_table.delete(ignore_table.c.item_id == item_id)) Item.query.filter_by(id=item_id).delete() db.session.commit() except IntegrityError as e: return render_template('error.html', message=str(e)) return redirect(url_for('admin'))
def annotator(): action = request.form['action'] if action == 'Submit': csv = request.form['data'] data = utils.data_from_csv_string(csv) added = [] for row in data: annotator = Annotator(*row) added.append(annotator) db.session.add(annotator) db.session.commit() try: email_invite_links(added) except Exception as e: return render_template('error.html', message=str(e)) elif action == 'Email': annotator_id = request.form['annotator_id'] try: email_invite_links(Annotator.by_id(annotator_id)) except Exception as e: return render_template('error.html', message=str(e)) elif action == 'Disable' or action == 'Enable': annotator_id = request.form['annotator_id'] target_state = action == 'Enable' Annotator.by_id(annotator_id).active = target_state db.session.commit() elif action == 'Delete': annotator_id = request.form['annotator_id'] try: db.session.execute(ignore_table.delete(ignore_table.c.annotator_id == annotator_id)) Annotator.query.filter_by(id=annotator_id).delete() db.session.commit() except IntegrityError as e: return render_template('error.html', message=str(e)) return redirect(url_for('admin'))
def item(): action = request.form['action'] if action == 'Submit': csv = request.form['data'] data = utils.data_from_csv_string(csv) for row in data: _item = Item(*row) db.session.add(_item) db.session.commit() elif action == 'Prioritize' or action == 'Cancel': item_id = request.form['item_id'] target_state = action == 'Prioritize' Item.by_id(item_id).prioritized = target_state db.session.commit() elif action == 'Disable' or action == 'Enable': item_id = request.form['item_id'] target_state = action == 'Enable' Item.by_id(item_id).active = target_state db.session.commit() elif action == 'Delete': item_id = request.form['item_id'] try: db.session.execute(ignore_table.delete(ignore_table.c.item_id == item_id)) Item.query.filter_by(id=item_id).delete() db.session.commit() except IntegrityError as e: return render_template('error.html', message=str(e)) return redirect(url_for('admin'))
def annotator(): action = request.form['action'] if action == 'Submit': csv = request.form['data'] data = utils.data_from_csv_string(csv) added = [] for row in data: annotator = Annotator(*row) added.append(annotator) db.session.add(annotator) db.session.commit() try: email_invite_links(added) except Exception as e: return render_template('error.html', message=str(e)) elif action == 'Email': annotator_id = request.form['annotator_id'] try: email_invite_links(Annotator.by_id(annotator_id)) except Exception as e: return render_template('error.html', message=str(e)) elif action == 'Disable' or action == 'Enable': annotator_id = request.form['annotator_id'] target_state = action == 'Enable' Annotator.by_id(annotator_id).active = target_state db.session.commit() elif action == 'Delete': annotator_id = request.form['annotator_id'] try: db.session.execute( ignore_table.delete( ignore_table.c.annotator_id == annotator_id)) Annotator.query.filter_by(id=annotator_id).delete() db.session.commit() except IntegrityError as e: return render_template('error.html', message=str(e)) return redirect(url_for('admin'))