def import_demo(): if request.method == 'POST': for demo_name in request.form: success, msg = Demo.create_from_name(demo_name) if success: flash(msg, category='success') db.session.commit() else: flash(msg, category='error') demos_raw = glob(os.path.join(app.config.get('DEMO_STORAGE_DIR', '.'), "*.dem")) demos = [] for demo in demos_raw: if not Demo.demo_exists(os.path.basename(demo)): demos.append((os.path.basename(demo), Demo.check_demo_filename(os.path.basename(demo)))) return render_template('import_demo.html', demos=demos)
def _do_upload_demo_file(the_file): """ Returns: Demo Object/False, Message, Message Type (to be passed to flash) """ if not the_file: return False, "You must select a demo to upload!", "error" if not allowed_file(the_file.filename): return False, "DOH! Only .dem files are allowed!", "error" demo = None filename = secure_filename(the_file.filename) file_exists, title, total_path, category = _is_file_on_disk(filename) if file_exists: # NOTE: total_path here will be the message! return False, total_path, category success, msg = Demo.create_from_name(filename) if success: category = 'success' the_file.save(total_path) db.session.commit() demo = Demo.get_from_filename(filename) else: category = 'error' return demo, title, msg, category