def folder(folder_name): try: folder = Folder.get(Folder.name == folder_name) except peewee.DoesNotExist: return jsonify(message="error"), 404 if request.method == "GET": return jsonify(message="OK", data=model_to_dict(folder, backrefs=True)) if request.method == "POST": f = request.files["file"] if f: actual_filename = generate_filename(folder_name, f.filename) target_file = os.path.join( os.path.expanduser(config.UPLOAD_FOLDER), actual_filename) if os.path.exists(target_file): return jsonify(message="error"), 409 try: f.save(target_file) f2 = File.create(folder=folder, filename=f.filename, public_share_url=generate_url(), open_public_share=False) f2.save() except Exception as e: print(e) return jsonify(message="error"), 500 return jsonify(message="OK"), 201 if request.method == "DELETE": try: for f in folder.files: actual_filename = generate_filename(folder_name, f.filename) target_file = os.path.join( os.path.expanduser(config.UPLOAD_FOLDER), actual_filename) f2 = File.get(File.filename == f.filename) f2.delete_instance() if os.path.exists(target_file): os.remove(target_file) folder.delete_instance() except Exception as e: return jsonify(message="error"), 409 return jsonify(message="OK")
def folder(folder_name): try: f = Folder.get(name=folder_name) except peewee.DoesNotExist: return jsonify(message='error'), 404 if request.method == 'POST': file = request.files['file'] if file: actual_filename = secure_filename( folder_name + '_' + file.filename) if os.path.exists(os.path.join(app.config['UPLOAD_FOLDER'], actual_filename)): return jsonify(message='error'), 409 file.save( os.path.join(app.config['UPLOAD_FOLDER'], actual_filename)) f2 = File.create(folder=folder_name, filename=file.filename, public_share_url=generate_url(), private_share_url=generate_url(), private_share_password=generate_password(), open_public_share=False, open_private_share=False) f2.save() return jsonify(message='OK'), 201 if request.method == 'GET': files = File.select().where(File.folder == folder_name) items = [{ 'filename': x.filename, 'public': x.public_share_url, 'private': x.private_share_url, 'password': x.private_share_password, 'openPublic': x.open_public_share, 'openPrivate': x.open_private_share } for x in files] return jsonify(message='OK', items=items) if request.method == 'DELETE': try: f.delete_instance() except peewee.IntegrityError: return jsonify(message='error'), 409 return jsonify(message='OK')
def get(self, key): folder = Folder.get(key) self.render('views/admin/folderedit.html', { 'folder': folder, 'key': key })
def get(self, key): folder = Folder.get(key) folder.delete() self.redirect('/admin/folder/', '302')
def get(self,key): folder=Folder.get(key) self.render('views/admin/folderedit.html', {'folder':folder,'key':key})
def get(self,key): folder = Folder.get(key) folder.delete() self.redirect('/admin/folder/', '302')