def upload_file(dataset_id, image_zoom=None, threshold_prob=None, allow_reuse=False): # check if the post request has the file part if 'file' not in request.files: return error_redirect('No file.') file = request.files['file'] if file.filename == '': return error_redirect('Empty file.') if (not file): return error_redirect('Invalid file.') # Generate server-side filename basename, ext = os.path.splitext(secure_filename(file.filename)) filename = basename + ext # Generate dataset if needed is_new_dataset = (dataset_id is None) if is_new_dataset: dataset_id = db.add_dataset(name=filename, user_id=get_current_user_id(), image_zoom=image_zoom, threshold_prob=threshold_prob)['_id'] if allow_reuse: db.add_dataset_tag(dataset_id, 'reuse') # Handle according to type if ext in config.archive_extensions: return upload_archive(dataset_id, file, filename, is_new_dataset=is_new_dataset) elif ext in config.image_extensions: return upload_image(dataset_id, file, filename, is_new_dataset=is_new_dataset) else: return error_redirect('Invalid or disallowed file type.')
def add_dataset(): # Add by name. Forward to newly created dataset dataset_name = request.form['dataset_name'].strip() if dataset_name == '': set_error('Invalid dataset name.') return redirect('/') dataset_info = db.get_dataset_by_name(dataset_name) if dataset_info is not None: set_error('Duplicate dataset name.') return redirect('/') dataset_info = db.add_dataset(dataset_name, user_id=get_current_user_id()) return redirect('/dataset/' + str(dataset_info['_id']) + '?new=true')
def get_karl_dataset_id(): name = 'Pb_stomata_09_03_16_Archive' ds = db.get_dataset_by_name(name) if ds is None: ds = db.add_dataset(name) return ds['_id']