Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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))
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
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)