|
5
|
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() |