def photo_post_save( sender, instance, created, *args, **kw ): # resize self image if created: image = Image.open( instance.image.path ) image.thumbnail( POSTER_DIMENSION, Image.ANTIALIAS ) if image.mode != "RGB": image = image.convert( "RGB" ) image.save( instance.image.path, "JPEG" ) if isinstance( instance.content_object, Film ) or \ isinstance( instance.content_object, Person ): # if accepted, save this photo as main if instance.moderation_status == ModeratedPhoto.STATUS_ACCEPTED: filename = "%s.jpg" % instance.content_object.permalink[:80] from film20.useractivity.models import UserActivity ua = UserActivity( user=instance.user, username=instance.user.username, activity_type = UserActivity.TYPE_POSTER, ) # in movie hires image is default ... if isinstance( instance.content_object, Film ): instance.content_object.hires_image.save( filename, instance.image ) ua.film=instance.content_object ua.film_title=instance.content_object.get_title() ua.film_permalink=instance.content_object.permalink ua.content = instance.content_object.hires_image else: instance.content_object.image.save( filename, instance.image ) # Save: # person name in object_title # person permalink in object_slug ua.person = instance.content_object ua.object_title = str( instance.content_object ) ua.object_slug = instance.content_object.permalink ua.content = instance.content_object.image ua.save() # if moderated send notification ... if instance.moderation_status != ModeratedPhoto.STATUS_UNKNOWN \ and instance.user != instance.moderation_status_by: if notification: notification.send( [ instance.user ], "photo_moderated", { "item": instance, "status": instance.moderation_status } ) else: raise NotImplementedError
def photo_post_save( sender, instance, created, *args, **kw ): # resize self image if created: image = Image.open( instance.image.path ) image.thumbnail( POSTER_DIMENSION, Image.ANTIALIAS ) if image.mode != "RGB": image = image.convert( "RGB" ) image.save( instance.image.path, "JPEG" ) if isinstance( instance.content_object, Film ) or \ isinstance( instance.content_object, Person ): # if accepted, save this photo as main if instance.moderation_status == ModeratedPhoto.STATUS_ACCEPTED: filename = "%s.jpg" % instance.content_object.permalink[:80] from film20.useractivity.models import UserActivity lang = getattr( instance, 'LANG', None if instance.in_all_languages else settings.LANGUAGE_CODE ) ua = UserActivity( user=instance.user, username=instance.user.username, activity_type = UserActivity.TYPE_POSTER, LANG = lang or settings.LANGUAGE_CODE, ) poster = Poster.objects.create( object=instance.content_object, image=instance.image, is_main=instance.is_main, LANG=lang ) # in movie hires image is default ... if isinstance( instance.content_object, Film ): #instance.content_object.hires_image.save( filename, instance.image ) ua.film=instance.content_object ua.film_title=instance.content_object.get_title() ua.film_permalink=instance.content_object.permalink ua.content = poster.image else: #instance.content_object.hires_image.save( filename, instance.image ) # Save: # person name in object_title # person permalink in object_slug ua.person = instance.content_object ua.object_title = str( instance.content_object ) ua.object_slug = instance.content_object.permalink ua.content = poster.image ua.save() # if moderated send notification ... if instance.moderation_status != ModeratedPhoto.STATUS_UNKNOWN \ and instance.user != instance.moderation_status_by: if notification: notification.send( [ instance.user ], "photo_moderated", { "item": instance, "status": instance.moderation_status } ) else: raise NotImplementedError