def upload(self): """Validates, uploads and adds the image to the gallery.""" if not super(GalleryUploader, self).commit((), ('image', 'tags')): return None # get the image information filename = self.image.value['filename'] data = self.image.value['data'] tags = self.tags.value # creates the image image = GalleryImageData(filename, data) image.tags = [GalleryImageTagData.get_by(name=tag) or GalleryImageTagData(name=tag) for tag in tags] # returns the image return GalleryImage(image.filename, image.thumbnail_filename, image.created_on, image.tags)
def upload(self): """Validates, uploads and adds the image to the gallery.""" if not super(GalleryUploader, self).commit((), ('image', 'tags')): return None # get the image information filename = self.image.value['filename'] data = self.image.value['data'] tags = self.tags.value # creates the image image = GalleryImageData(filename, data) image.tags = [ GalleryImageTagData.get_by(name=tag) or GalleryImageTagData(name=tag) for tag in tags ] # returns the image return GalleryImage(image.filename, image.thumbnail_filename, image.created_on, image.tags)
def _validate_image(self, f): file = validators.validate_file(f) if file is None: raise ValueError(_(u"Can't be empty")) filename = file['filename'] data = file['filedata'] extension = os.path.splitext(filename)[1].lower() prefix = uuid.uuid4().hex filename = prefix + extension # checks the image is not already in the gallery if GalleryImageData.exist(data): raise ValueError(_(u'Image already in gallery')) return dict(filename=filename, data=data)
def delete_image(self, image): GalleryImageData.get_by(filename=image.filename).delete()
def has_same_image(self, data): return GalleryImageData.exist(data)