web/lib/photologue/management/commands/plinit.py
changeset 5 10b1f6d8a5d2
equal deleted inserted replaced
4:b77683731f25 5:10b1f6d8a5d2
       
     1 from django.core.management.base import BaseCommand, CommandError
       
     2 from photologue.management.commands import get_response, create_photosize
       
     3 from photologue.models import PhotoEffect
       
     4 
       
     5 class Command(BaseCommand):
       
     6     help = ('Prompts the user to set up the default photo sizes required by Photologue.')
       
     7     requires_model_validation = True
       
     8     can_import_settings = True
       
     9 
       
    10     def handle(self, *args, **kwargs):
       
    11         return init(*args, **kwargs)
       
    12 
       
    13 def init(*args, **kwargs):
       
    14     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):'
       
    15     if get_response(msg, lambda inp: inp == 'yes', False):
       
    16         admin_thumbnail = create_photosize('admin_thumbnail', width=100, height=75, crop=True, pre_cache=True)
       
    17         msg = 'Would you like to apply a sample enhancement effect to your admin thumbnails? (yes, no):'
       
    18         if get_response(msg, lambda inp: inp == 'yes', False):
       
    19             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)
       
    20             admin_thumbnail.effect = effect
       
    21             admin_thumbnail.save()
       
    22     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):'
       
    23     if get_response(msg, lambda inp: inp == 'yes', False):
       
    24         thumbnail = create_photosize('thumbnail', width=100, height=75)
       
    25         display = create_photosize('display', width=400, increment_count=True)
       
    26         msg = 'Would you like to apply a sample reflection effect to your display images? (yes, no):'
       
    27         if get_response(msg, lambda inp: inp == 'yes', False):
       
    28             effect, created = PhotoEffect.objects.get_or_create(name='Display Reflection', description="Generates a reflection with a white background", reflection_size=0.4)
       
    29             display.effect = effect
       
    30             display.save()