annotate user_photos/forms.py @ 699:d33bedc3be74

Merge private messages fix with current development of S3 photo upload.
author Brian Neal <bgneal@gmail.com>
date Mon, 09 Sep 2013 20:53:08 -0500
parents 67f8d49a9377
children e888d627928f
rev   line source
bgneal@695 1 """Forms for the user_photos application."""
bgneal@695 2 from django import forms
bgneal@697 3 from django.conf import settings
bgneal@695 4
bgneal@696 5 from user_photos.models import Photo
bgneal@696 6 from user_photos.images import process_file
bgneal@697 7 from user_photos.s3 import S3Bucket
bgneal@696 8
bgneal@695 9
bgneal@695 10 class UploadForm(forms.Form):
bgneal@695 11 image_file = forms.ImageField()
bgneal@696 12
bgneal@696 13 def __init__(self, *args, **kwargs):
bgneal@696 14 self.user = kwargs.pop('user')
bgneal@696 15 super(UploadForm, self).__init__(*args, **kwargs)
bgneal@696 16
bgneal@696 17 def save(self):
bgneal@696 18 """Processes the image and creates a new Photo object, which is saved to
bgneal@696 19 the database. The new Photo instance is returned.
bgneal@696 20
bgneal@696 21 This function should only be called if is_valid() returns True.
bgneal@696 22
bgneal@696 23 """
bgneal@697 24 bucket = S3Bucket(settings.USER_PHOTOS_ACCESS_KEY,
bgneal@697 25 settings.USER_PHOTOS_SECRET_KEY,
bgneal@697 26 settings.USER_PHOTOS_BUCKET)
bgneal@697 27 url, thumb_url = process_file(self.cleaned_data['image_file'],
bgneal@697 28 self.user,
bgneal@697 29 bucket)
bgneal@696 30 photo = Photo(user=self.user, url=url, thumb_url=thumb_url)
bgneal@696 31 photo.save()
bgneal@696 32 return photo