def upload(): if request.method == 'POST': #files = request.files['file'] files = request.files.getlist('file') if files: for file in files: abs_file_path = uploads.path(secure_filename(file.filename)) if not os.path.exists(abs_file_path): uploads.save(file) size = os.path.getsize(abs_file_path) result = Uploadfile(name=secure_filename(file.filename), type=file.content_type, size=size) else: result = Uploadfile(name=secure_filename(file.filename), type=file.content_type, size=0, not_allowed_msg="File already exists!") return simplejson.dumps({"files": [result.get_file()]}) if request.method == 'GET': files = [ f for f in os.listdir(current_app.config['UPLOADED_UPLOADS_DEST']) if os.path.isfile( os.path.join(current_app.config['UPLOADED_UPLOADS_DEST'], f)) ] file_display = [] for f in files: size = os.path.getsize( os.path.join(current_app.config['UPLOADED_UPLOADS_DEST'], f)) file_saved = Uploadfile(name=f, size=size) file_display.append(file_saved.get_file()) return simplejson.dumps({"files": file_display}) return render_template("admin/file_uploader.html", title='File Uploader')
def upload_files(): if current_user.is_anonymous or current_user.department not in ['admin']: return redirect(url_for('main.index')) form = UploadForm() if form.validate_on_submit(): for filename in request.files.getlist('uploads'): print(filename) uploads.save(filename) success = True else: success = False return render_template('admin/upload_files.html', form=form, success=success)
def edit_post(post_id): post = Post.query.get_or_404(post_id) if not (current_user.is_admin or int(post.user_id) == int(current_user.user_id)): abort(403) form = PostForm(form=request.form) post_tags = post.tags if request.method == 'POST' and form.validate(): publish = False filename = None if form.publish.data: publish = True if 'cover_image' in request.files: cover_image = request.files['cover_image'] image_name = cover_image.filename image_name_parts = image_name.split('.') image_name = append_timestamp( image_name_parts[0]) + '.' + image_name_parts[1] filename = uploads.save(cover_image, name=image_name) if post.title != form.title.data: post.post_title = form.title.data post.content = form.content.data post.published = publish if filename: # Remove previous image file, to save space if post.cover_image: upload_dir = current_app.config.get('UPLOAD_DIR', '') os.unlink(os.path.join(upload_dir, post.cover_image)) post.cover_image = filename # remove previous tags remove_tags(post_id) # add new tags tags = form.tags.data for tag_id in tags: tag = check_tag(tag_id) if tag: post.tags.append(tag) db.session.add(post) db.session.commit() flash('Post edited successfully', 'success') return redirect(url_for('admin.list_posts')) form.title.data = post.title form.tags.data = [tag.tag_id for tag in post_tags] form.content.data = post.content form.publish.data = bool(post.published) data = { 'title': 'Edit Post', 'form': form, 'post': post, } return render_template('admin/posts/edit.html', **data)
def upload(): """ User may upload a new BOM File """ form = UploadForm() if form.validate_on_submit(): file_ = request.files['file_'] filename = uploads.save(file_) bom = BillOfMaterials.from_kicad_archive(uploads.path(filename)) bom.name = form.name.data bom.version = form.version.data bom.user = g.user db.session.add(bom) db.session.commit() flash("File {} successfully processed.".format(filename), category='success') return redirect(url_for('bom_summary', id=bom.id)) return render_template('upload.html', form=form)
def upload(): for file in request.files.getlist('btn-upload'): if not uploads.extension_allowed(extension(file.filename)): flash( Markup( 'File extension "%s" is not allowed to be uploaded to this server' % extension(file.filename)), "warning") return redirect(url_for('main.index')) # save file file_name, file_extension = os.path.splitext(file.filename) folder = os.path.join(current_user.email, file_name) file_path = helper.resolve_folder_conflict( current_app.config['UPLOAD_FOLDER'], folder) saved_file_name = uploads.save(file, folder=file_path, name=file.filename) # get book meta meta = book_format.process(uploads.path(saved_file_name), file_path, file_name, file_extension[1:]) # move file if meta.title != meta.file_name: new_file_path = os.path.join(current_app.config['UPLOAD_FOLDER'], file_path, meta.title + file_extension) move(uploads.path(saved_file_name), new_file_path) if meta.cover_path: new_cover_path = os.path.join( current_app.config['UPLOAD_FOLDER'], file_path, meta.title + '.jpg') move(meta.cover_path, new_cover_path) # add book Books.add_book(meta) flash(Markup('File upload completed.'), "info") return redirect(url_for('main.index'))
def create_post(): form = PostForm(form=request.form) if request.method == 'POST' and form.validate(): publish = False filename = None if form.publish.data: publish = True if 'cover_image' in request.files: cover_image = request.files['cover_image'] image_name = cover_image.filename image_name_parts = image_name.split('.') image_name = append_timestamp( image_name_parts[0]) + '.' + image_name_parts[1] filename = uploads.save(cover_image, name=image_name) post = Post() post.post_title = form.title.data post.content = form.content.data post.user_id = current_user.user_id post.published = publish if filename: post.cover_image = filename tags = form.tags.data for tag_id in tags: tag = check_tag(tag_id) if tag: post.tags.append(tag) db.session.add(post) db.session.commit() flash('Post created successfully', 'success') return redirect(url_for('admin.list_posts')) data = { 'title': 'Create Post', 'form': form, } return render_template('admin/posts/create.html', **data)