Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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