def save(self, force_insert=False, force_update=False, using=None): if not self.image and self.image_url: filename, headers = urllib.urlretrieve( self.image_url.encode('utf-8')) type = headers.get('Content-Type') if not type or not mimetypes.guess_all_extensions(type): raise ValidationError('Broken image') self.image = SimpleUploadedFile(filename, open(filename).read(), content_type=type) self.image_url = None super(Demot, self).save(force_insert, force_update, using) # generate demot if self.image and not self.final_image: demotivator = Demotivator(self.image, self.line1, self.line2, get_address()) demotivator.create(self.demot_path['path']) # generate default thumbnail self.get_thumbnail() self.final_image = self.demot_path['url'] self.save() # create/update activity self.save_activity()
def save( self, force_insert=False, force_update=False, using=None ): if not self.image and self.image_url: filename, headers = urllib.urlretrieve( self.image_url.encode( 'utf-8' ) ) type = headers.get( 'Content-Type' ) if not type or not mimetypes.guess_all_extensions( type ): raise ValidationError( 'Broken image' ) self.image = SimpleUploadedFile( filename, open( filename ).read(), content_type = type ) self.image_url = None super( Demot, self ).save( force_insert, force_update, using ) # generate demot if self.image and not self.final_image: demotivator = Demotivator( self.image, self.line1, self.line2, get_address() ) demotivator.create( self.demot_path['path'] ) # generate default thumbnail self.get_thumbnail() self.final_image = self.demot_path['url'] self.save() # create/update activity self.save_activity()
def get_thumbnail(self, size=THUMBNAIL_SIZE): path = os.path.join(self.demot_directory, "thumb-%sx%s.png" % (size[0], size[1])) if not os.path.exists(path): demotivator = Demotivator(self.image.path, self.line1, self.line2, get_address()) demotivator.get_thumbnail(path, size) return { 'path': path, 'url': path.replace(settings.MEDIA_ROOT, settings.MEDIA_URL) }
def get_thumbnail( self, size=THUMBNAIL_SIZE ): path = os.path.join( self.demot_directory, "thumb-%sx%s.png" % ( size[0], size[1] ) ) if not os.path.exists( path ): demotivator = Demotivator( self.image.path, self.line1, self.line2, get_address() ) demotivator.get_thumbnail( path, size ) return { 'path': path, 'url': path.replace( settings.MEDIA_ROOT, settings.MEDIA_URL ) }