annotate mysite/photologue/management/commands/__init__.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
rev   line source
bgneal@1 1 from photologue.models import PhotoSize
bgneal@1 2
bgneal@1 3 def get_response(msg, func=int, default=None):
bgneal@1 4 while True:
bgneal@1 5 resp = raw_input(msg)
bgneal@1 6 if not resp and default is not None:
bgneal@1 7 return default
bgneal@1 8 try:
bgneal@1 9 return func(resp)
bgneal@1 10 except:
bgneal@1 11 print 'Invalid input.'
bgneal@1 12
bgneal@1 13 def create_photosize(name, width=0, height=0, crop=False, pre_cache=False, increment_count=False):
bgneal@1 14 try:
bgneal@1 15 size = PhotoSize.objects.get(name=name)
bgneal@1 16 exists = True
bgneal@1 17 except PhotoSize.DoesNotExist:
bgneal@1 18 size = PhotoSize(name=name)
bgneal@1 19 exists = False
bgneal@1 20 if exists:
bgneal@1 21 msg = 'A "%s" photo size already exists. Do you want to replace it? (yes, no):' % name
bgneal@1 22 if not get_response(msg, lambda inp: inp == 'yes', False):
bgneal@1 23 return
bgneal@1 24 print '\nWe will now define the "%s" photo size:\n' % size
bgneal@1 25 w = get_response('Width (in pixels):', lambda inp: int(inp), width)
bgneal@1 26 h = get_response('Height (in pixels):', lambda inp: int(inp), height)
bgneal@1 27 c = get_response('Crop to fit? (yes, no):', lambda inp: inp == 'yes', crop)
bgneal@1 28 p = get_response('Pre-cache? (yes, no):', lambda inp: inp == 'yes', pre_cache)
bgneal@1 29 i = get_response('Increment count? (yes, no):', lambda inp: inp == 'yes', increment_count)
bgneal@1 30 size.width = w
bgneal@1 31 size.height = h
bgneal@1 32 size.crop = c
bgneal@1 33 size.pre_cache = p
bgneal@1 34 size.increment_count = i
bgneal@1 35 size.save()
bgneal@1 36 print '\nA "%s" photo size has been created.\n' % name
bgneal@1 37 return size