Example #1
0
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.')
Example #2
0
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')
Example #3
0
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']