view mysite/photologue/management/commands/plinit.py @ 88:7245c769e31e django1.3

Close this branch. I'm not sure if I merged it correctly to the default branch, because the graphlog doesn't look right. But the changes were made to default somehow. So closing this off to prevent future confusion.
author Brian Neal <bgneal@gmail.com>
date Sat, 13 Apr 2013 18:08:19 -0500
parents 0dcfcdf50c62
children
line wrap: on
line source
from django.core.management.base import BaseCommand, CommandError
from photologue.management.commands import get_response, create_photosize
from photologue.models import PhotoEffect

class Command(BaseCommand):  
    help = ('Prompts the user to set up the default photo sizes required by Photologue.')
    requires_model_validation = True
    can_import_settings = True

    def handle(self, *args, **kwargs):
        return init(*args, **kwargs)

def init(*args, **kwargs):
    msg = '\nPhotologue requires a specific photo size to display thumbnail previews in the Django admin application.\nWould you like to generate this size now? (yes, no):'
    if get_response(msg, lambda inp: inp == 'yes', False):
        admin_thumbnail = create_photosize('admin_thumbnail', width=100, height=75, crop=True, pre_cache=True)
        msg = 'Would you like to apply a sample enhancement effect to your admin thumbnails? (yes, no):'
        if get_response(msg, lambda inp: inp == 'yes', False):
            effect, created = PhotoEffect.objects.get_or_create(name='Enhance Thumbnail', description="Increases sharpness and contrast. Works well for smaller image sizes such as thumbnails.", contrast=1.2, sharpness=1.3)
            admin_thumbnail.effect = effect
            admin_thumbnail.save()                
    msg = '\nPhotologue comes with a set of templates for setting up a complete photo gallery. These templates require you to define both a "thumbnail" and "display" size.\nWould you like to define them now? (yes, no):'
    if get_response(msg, lambda inp: inp == 'yes', False):
        thumbnail = create_photosize('thumbnail', width=100, height=75)
        display = create_photosize('display', width=400, increment_count=True)
        msg = 'Would you like to apply a sample reflection effect to your display images? (yes, no):'
        if get_response(msg, lambda inp: inp == 'yes', False):
            effect, created = PhotoEffect.objects.get_or_create(name='Display Reflection', description="Generates a reflection with a white background", reflection_size=0.4)
            display.effect = effect
            display.save()