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