def post(self): # Load response template template = JINJA_ENVIRONMENT.get_template("static/templates/api.json") self.response.headers["Content-Type"] = "application/json" # Session request handler current_session = Session(self) # Retrieve uploaded info upload_files = self.get_uploads("file") blob_info = upload_files[0] # Check if user can upload the photo if current_session.get_role_level() < 2: self.response.headers["Content-Type"] = "application/json" data = '{"error": "Permission denied"}' result = "FAIL" self.response.write(template.render(feature="photo", data=data, query=self.request.url, result=result)) # Remove photo from blob store blobstore.delete(blob_info.key) return None # Save photo to database photo_id = database.PhotosManager.createPhoto("", current_session.get_user_key(), 2, blob_info.key()) # Prompt response to user data = '{"photo_id": ' + str(photo_id) + "}" result = "OK" self.response.write(template.render(feature="photo", data=data, query=self.request.url, result=result))
def delete_photo(photo_id): # Retrieve photo photo = PhotosManager.get_photo_by_id(photo_id) # Remove blob blobstore.delete(photo.image) # Remove photo photo.key.delete()
def post(self): # Load response template template = JINJA_ENVIRONMENT.get_template('static/templates/api.json') self.response.headers['Content-Type'] = 'application/json' # Session request handler current_session = Session(self) # Retrieve uploaded info upload_files = self.get_uploads("file") blob_info = upload_files[0] # Check if user can upload the photo if current_session.get_role_level() < 2: self.response.headers['Content-Type'] = 'application/json' data = '{"error": "Permission denied"}' result = "FAIL" self.response.write(template.render(feature="photo", data=data, query=self.request.url, result=result)) # Remove photo from blob store blobstore.delete(blob_info.key) return None # Save photo to database photo_id = database.PhotosManager.createPhoto("", current_session.get_user_key(), 2, blob_info.key()) # Prompt response to user data = '{"photo_id": ' + str(photo_id) + '}' result = "OK" self.response.write(template.render(feature="photo", data=data, query=self.request.url, result=result))
def do_business(self): super(DeleteBlobFiles, self).do_business() blob_keys = [c.result.blob_key for c in self.__delete_blob_cmds] blobstore.delete(blob_keys)
def remove_from_gcs(blob_key): blobstore.delete(blob_key) images.delete_serving_url(blob_key)