def add_blob_content(): response_object = { 'status': 'success', 'now': datetime.utcnow().isoformat(), 'filelink': None, } folder = Folder.retrieve_by_id(3001) if not folder: response_object['status'] = 'failure' return util.jsonpify(response_object) upload_files = get_uploads(flask.request, 'file') if len(upload_files): blob_info = upload_files[0] if blob_info.size: f = File.create( blob_info.key(), size=blob_info.size, filename=os.path.basename(blob_info.filename.replace('\\','/')), content_type=blob_info.content_type) f.put() if f.get_cached_url(): folder.files.append(f.key) folder.put() response_object['filelink'] = f.get_cached_url() else: blob_info.delete() return util.jsonpify(response_object)
def del_file(key_id, file_key): folder = Folder.retrieve_by_id(key_id) if not folder: return flask.redirect(flask.url_for('admin.file.index')) for i, f in enumerate(folder.files): if f.id() == file_key: f.delete() del folder.files[i] break else: return flask.redirect(flask.url_for('admin.file.edit_folder', key_id=key_id)) folder.put() return flask.redirect(flask.url_for('admin.file.edit_folder', key_id=key_id))
def add_file(key_id): folder = Folder.retrieve_by_id(key_id) if not folder: return flask.redirect(flask.url_for('admin.file.index')) upload_files = get_uploads(flask.request, 'file') if len(upload_files): blob_info = upload_files[0] if blob_info.size: file = File.create( blob_info.key(), size=blob_info.size, filename=os.path.basename(blob_info.filename.replace('\\','/')), content_type=blob_info.content_type) file.put() if file.get_cached_url(): folder.files.append(file.key) folder.put() else: blob_info.delete() return flask.redirect(flask.url_for('admin.file.edit_folder', key_id=key_id))
def edit_folder(key_id): folder = Folder.retrieve_by_id(key_id) if not folder: return flask.redirect(flask.url_for('admin.file.index')) if flask.request.method == 'POST' and 'delete_folder' in flask.request.form: folder.key.delete() return flask.redirect(flask.url_for('admin.file.index')) form = FolderForm(obj=folder) if form.validate_on_submit(): form.populate_obj(folder) folder.put() return flask.redirect(flask.url_for('admin.file.index')) file_form = FileForm() add_url = blobstore.create_upload_url(flask.url_for('admin.file.add_file', key_id=folder.key.id())) return flask.render_template( 'file/admin/edit_folder.html', form=form, folder=folder, active_folder=folder.key, file_form=file_form, add_url=add_url )