diff photologue/management/commands/plinit.py @ 71:e2868ad47a1e

For Django 1.4, using the new manage.py.
author Brian Neal <bgneal@gmail.com>
date Sat, 14 Apr 2012 16:40:29 -0500
parents madeira/photologue/management/commands/plinit.py@63e4211628e1
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/photologue/management/commands/plinit.py	Sat Apr 14 16:40:29 2012 -0500
@@ -0,0 +1,30 @@
+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()
\ No newline at end of file