def process_spreadsheet_file(): ''' Page to handle processing excel file (xlsx). Creates json and redirects to editor-UI ''' global g_active_json, g_active_filename, g_active_xlsx_fname form = FileUploadForm() if form.validate_on_submit(): f = form.in_file.data filename = secure_filename(f.filename) if not exists(STORAGE_FOLDER): makedirs(STORAGE_FOLDER) g_active_xlsx_fname = STORAGE_FOLDER + filename f.save(g_active_xlsx_fname) g_active_json, _ = process_file(g_active_xlsx_fname) g_active_filename = '.'.join( g_active_xlsx_fname.split('.')[:-1]) + '.ccut.json' with open(g_active_filename, 'w') as outfile: dump(g_active_json, outfile, indent=2) # TODO: color original xlsx return redirect(url_for('edit_annotation_file')) else: return render_template('file_upload.html', form=form, title='Process spreadsheet file', file_ext='.xlsx')
def uploading(): form = FileUploadForm() if request.method == 'POST': if form.validate_on_submit() and 'picFile' in request.files: file = request.files['picFile'] #flash(file.filename) if changeFileExtension(file): filename = file.filename if images.file_allowed(file, filename): #filename = secure_filename(filename) filename = changeFileName(filename) path = 'pict' name_for_save = images.resolve_conflict(path, filename) images.save(file, path, name_for_save) # db db = get_db() db.execute( 'INSERT INTO PICTURES ( path, filename, comment, data ) VALUES (?,?,?,?)', [ path, name_for_save, request.form['comment'], time.time() ]) db.commit() return redirect(url_for('pictures')) form.errors['picFile'] = ('file extension is not supported', ) header = 'Страница загрузки'.decode('utf-8') return render_template('upload.html', title=app.config['TITLE'], header=header, form=form)
def kaoqin(): print 'this is index ()' form = FileUploadForm() filedata = [] if form.validate_on_submit(): for upload in form.uploads.entries: filedata.append(upload) return render_template("download.html", form=form)
def index(): form = FileUploadForm() filedata = [] if form.validate_on_submit(): print 'form.validate !!!' for upload in form.uploads.entries: filedata.append(upload) print len(filedata) for file1 in filedata: print file1.data.filename return render_template("index.html", form=form, filedata=filedata)
def upload(): import os from werkzeug.utils import secure_filename form = FileUploadForm() if form.validate_on_submit(): data = request.files[form.filename.name].read() filename = secure_filename(form.filename.data.filename) file_path = os.path.join('./app/uploads/', filename) open(file_path, 'w').write(data) parsexlsdata.delay(file_path) flash('Data nahrana a budou se zpracovavat',category='info') task= json.loads(inspect().data) if task['task'][0]['id'] == '': busy=True else: busy=False flash('Data jsou zpracovavana pockejte nekolik minut a akci zopakujte pokud potrebujete...',category='info') return render_template("fileupload.html", form = form , user = user ,busy=busy)
def load_annotation_file(): ''' Page to handle uploading annotation file (json). Redirects to editor-UI ''' global g_active_json, g_active_filename form = FileUploadForm() if form.validate_on_submit(): f = form.in_file.data filename = secure_filename(f.filename) if not exists(STORAGE_FOLDER): makedirs(STORAGE_FOLDER) g_active_filename = STORAGE_FOLDER + filename f.save(g_active_filename) with open(g_active_filename, 'r') as read_file_h: g_active_json = load(read_file_h) return redirect(url_for('edit_annotation_file')) else: return render_template('file_upload.html', form=form, title='Upload annotation file', file_ext='.json')
def datasets(): if not current_user.is_authenticated: return redirect(url_for('no_access')) datasets = Dataset.query.filter(Dataset.user_id == current_user.id).all() for ds in datasets: ds.distinctive_name = ds.distinctive_name or ds.filename if ds.distinctive_name == ds.filename: ds.display_filename = '' else: ds.display_filename = ds.filename model = { 'title': 'Datasets', 'datasets': datasets } form = FileUploadForm() if form.validate_on_submit(): dsFile = form.fileName.data separator = form.separator.data distinctive_name = form.distinctive_name.data filename = secure_filename(dsFile.filename) guid = str(uuid.uuid4()) dsFile.seek(0) dt = dsFile.read() dbDs = Dataset(filename, guid, g.user, datetime.datetime.utcnow(), separator, distinctive_name, dt) db.session.add(dbDs) db.session.commit() return redirect(url_for('datasets')) model['form'] = form return render_template('datasets.html', model = model)
def upload(): dates = ImportantDate.query.order_by(ImportantDate.date_time) if not current_user.is_admin: #throw a 403 error. we could do a custom error page later. abort(403) formUpload = FileUploadForm() if formUpload.validate_on_submit(): if 'file' not in request.files: flash('No File') return redirect(request.url) file = request.files['file'] try: num_rows_deleted = db.session.query(Checksheet).delete() db.session.commit() flash('Checksheet database successfully dumped', 'success') except: db.session.rollback() flash('There was an error dumping the Checksheet database', 'danger') try: parse_dates = [ 'Initial essay', 'Date 1', 'Date 2', 'Date 3', 'Date 4', 'Date 5', 'Date 6', 'Date 7', 'Date 8' ] checksheet = pd.read_csv(file, parse_dates=parse_dates) checksheet.dropna(axis=0, how='all', inplace=True) checksheet.columns = [ 'lastName', 'firstName', 'honors_id', 'email', 'admitted', 'dupontCode', 'status', 'comments', 'term', 'major', 'advisor', 'initialEssayDate', 'coCur1', 'coCurDate1', 'coCur2', 'coCurDate2', 'coCur3', 'coCurDate3', 'coCur4', 'coCurDate4', 'coCur5', 'coCurDate5', 'coCur6', 'coCurDate6', 'coCur7', 'coCurDate7', 'coCur8', 'coCurDate8', 'fsemHN', 'fsemHNDate', 'hnCourse1', 'hnCourse1Date', 'hnCourse2', 'hnCourse2Date', 'hnCourse3', 'hnCourse3Date', 'hnCourse4', 'hnCourse4Date', 'hnCourse5', 'hnCourse5Date', 'researchCourse', 'researchCourseDate', 'capstoneCourse', 'capstoneCourseDate', 'hon201', 'hon201Date', 'leadership', 'mentoring', 'portfolio4', 'portfolio1', 'portfolio2', 'portfolio3', 'exit' ] checksheet.to_sql('checksheets', con=db.engine, if_exists='append', index=False) flash('Upload Successful!') print checksheet['coCurDate1'] # drop old users from database try: students = User.query.filter_by(is_admin=0).all() if students is not None: for student in students: print("student=%s" % student.username) try: found = Checksheet.query.filter_by( honors_id=student.honors_id).first() print(found) if found is None: try: user = User.query.get_or_404(student.id) db.session.delete(user) db.session.commit() except: db.session.rollback() flash('User not deleted', 'danger') except: flash('Error when searching Checksheet table', 'danger') else: flash('There are currently no student accounts.', 'warning') except: flash('Error searching Users table', 'danger') except: flash( 'The file you uploaded has an error. Please check the format and try again.' ) return redirect(url_for('admin.upload')) return render_template('admin/upload.html', title="Upload", formUpload=formUpload, dates=dates)
def upload_file(): form = FileUploadForm() if form.validate_on_submit(): filename = form.excel_file.data.filename print filename