def testCreateThumbnail(self): picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = PictureTestCase.PICTURE_FILE_NAME picture.save() thumb = Picture.create_thumbnail(picture, 32, 32) self.assertTrue(thumb is not None)
def set_picture(request): picture = Picture() picture.picture = request.FILES['picture'].read() picture.save() request.session['picture_id'] = picture.id thumb = Picture.create_thumbnail(picture, 200, 200) thumb_small = Picture.create_thumbnail(picture, 50, 50) return HttpResponse('{"result":{"picture_id":%s,"thumb_id":%s,"width":%d,"height":%d,"thumb_small_id":%s}}' % (str(picture.id), thumb.id, thumb.width, thumb.height, thumb_small.id), 'text/html', 200)
def testCreatePicture(self): logging.info('creating a picture ...') picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = PictureTestCase.PICTURE_FILE_NAME picture.save() self.assertEquals(193, picture.width) self.assertEquals(237, picture.height) self.assertEquals('jpg', picture.format)
def testSomething(self): picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = AlbumTestCase.PICTURE_FILE_NAME picture.save() institution = Institution(name='Institution', picture=picture, description='Description', homepage='http://www.homepage.com') institution.save() album = Album.create_album(title='Some party', instance=institution) album.add_picture(picture) logging.info('Institution albums: %s' % str(Album.objects.for_model(institution))) for rpa in album.picture_album_set.all(): logging.info('Picture - %s [%d x %d]' % (rpa.picture.filename, rpa.picture.width, rpa.picture.height))
def testGetThumbnail(self): picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = PictureTestCase.PICTURE_FILE_NAME picture.save() pre_thumb = Picture.create_thumbnail(picture, 32, 32) self.assertTrue(pre_thumb is not None) thumb = Picture.get_thumbnail(picture, 32, 32) self.assertTrue(thumb is not None) self.assertEquals(pre_thumb.id, thumb.id) # It should not create a new thumbnail self.assertTrue(thumb.width <= 32) self.assertTrue(thumb.height <= 32) self.assertEquals('jpg', thumb.format) thumb = Picture.get_thumbnail(picture, 64, 64) self.assertTrue(thumb is not None) self.assertTrue(thumb.id != pre_thumb.id) thumb = Picture.get_thumbnail(picture, 128, 128) self.assertTrue(thumb is not None) self.assertTrue(thumb.id != pre_thumb.id)
def add_picture(request, class_name, slug, album_id): instance = get_class(class_name).objects.get(slug=slug) album = Album.objects.get(pk=album_id) form = None if request.method == 'GET': form = PictureForm() else: form = PictureForm(request.POST) if form.is_valid(): data = form.cleaned_data if request.FILES.has_key('picture'): picture = Picture() picture.picture = request.FILES['picture'].read() picture.save() rpa = RelPictureAlbum(picture=picture, album=album) if data.has_key('description'): rpa.description = data['description'] if data.has_key('is_cover'): rpa.is_cover = True rpa.save() return HttpResponseRedirect(reverse('portal.album.views.detail', args=[class_name, slug, album_id, ])) else: form.errors['picture'] = form.error_class([_('The picture is required.'),]) ctx = { 'instance': instance, 'album': album, 'form': form, } return direct_to_template(request, 'album/add_picture.html', ctx)