def test_with_unbound_image(self): endpoint = url_for('storage.upload', name=tmp.name) doc = self.D() form = self.F(None, doc) self.assertEqual(form.image.filename.data, None) self.assertEqual(form.image.bbox.data, None) self.assertEqual(form.image(), ''.join(( '<div class="image-picker-field" data-sizes="100" data-basename="image" data-endpoint="{0}">'.format(endpoint), '<div class="image-picker-preview">', '<img src="{0}" data-placeholder="{0}"/>'.format(placeholder(None, 'default')), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', 'Choose a picture', '<input id="image-filename" name="image-filename" type="hidden" value="">', '<input id="image-bbox" name="image-bbox" type="hidden" value="">', '</span>', '</div>' ))) self.assertEqual(form.thumbnail.filename.data, None) self.assertEqual(form.thumbnail.bbox.data, None) self.assertEqual(form.thumbnail(), ''.join(( '<div class="image-picker-field" data-sizes="16,32" data-basename="thumbnail" data-endpoint="{0}">'.format(endpoint), '<div class="image-picker-preview">', '<img src="{0}" data-placeholder="{0}"/>'.format(placeholder(None, 'default')), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', 'Choose a picture', '<input id="thumbnail-filename" name="thumbnail-filename" type="hidden" value="">', '<input id="thumbnail-bbox" name="thumbnail-bbox" type="hidden" value="">', '</span>', '</div>', )))
def test_with_image_and_bbox(self): endpoint = url_for('storage.upload', name=tmp.name) doc = self.D() with open(self.data('image.png')) as img: doc.thumbnail.save(img, 'image.jpg', bbox=[10, 10, 100, 100]) doc.save() form = self.F(None, doc) self.assertEqual(form.thumbnail.filename.data, 'image.jpg') self.assertEqual(form.thumbnail.bbox.data, [10, 10, 100, 100]) self.assertEqual( form.thumbnail(), ''.join(( '<div class="image-picker-field" data-sizes="16,32" ', 'data-basename="thumbnail" data-endpoint="{0}">'.format( endpoint), '<div class="image-picker-preview">', '<img src="{0}" '.format(doc.thumbnail(100)), 'data-placeholder="{0}"/>'.format(placeholder(None, 'default')), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', 'Choose a picture', '<input id="thumbnail-filename" name="thumbnail-filename" ', 'type="hidden" value="">', '<input id="thumbnail-bbox" name="thumbnail-bbox" ', 'type="hidden" value="10,10,100,100">', '</span>', '</div>', )))
def test_with_image_and_bbox(self): endpoint = url_for('storage.upload', name=tmp.name) doc = self.D() with open(self.data('image.png')) as img: doc.thumbnail.save(img, 'image.jpg', bbox=[10, 10, 100, 100]) doc.save() form = self.F(None, doc) self.assertEqual(form.thumbnail.filename.data, 'image.jpg') self.assertEqual(form.thumbnail.bbox.data, [10, 10, 100, 100]) self.assertEqual(form.thumbnail(), ''.join(( '<div class="image-picker-field" data-sizes="16,32" ', 'data-basename="thumbnail" data-endpoint="{0}">'.format(endpoint), '<div class="image-picker-preview">', '<img src="{0}" '.format(doc.thumbnail(100)), 'data-placeholder="{0}"/>'.format(placeholder(None, 'default')), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', 'Choose a picture', '<input id="thumbnail-filename" name="thumbnail-filename" ', 'type="hidden" value="">', '<input id="thumbnail-bbox" name="thumbnail-bbox" ', 'type="hidden" value="10,10,100,100">', '</span>', '</div>', )))
def test_empty(self): form = self.F() endpoint = url_for('storage.upload', name=tmp.name) self.assertEqual(form.image.filename.data, None) self.assertEqual(form.image.bbox.data, None) self.assertEqual( form.image(), ''.join(( '<div class="image-picker-field" data-sizes="100" ', 'data-basename="image" data-endpoint="{0}">'.format(endpoint), '<div class="image-picker-preview">', '<img src="{0}" '.format(placeholder(None, 'default')), 'data-placeholder="{0}"/>'.format(placeholder(None, 'default')), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', 'Choose a picture', '<input id="image-filename" name="image-filename" ', 'type="hidden" value="">', '<input id="image-bbox" name="image-bbox" type="hidden" value="">', '</span>', '</div>', ))) self.assertEqual(form.thumbnail.filename.data, None) self.assertEqual(form.thumbnail.bbox.data, None) self.assertEqual( form.thumbnail(), ''.join(( '<div class="image-picker-field" data-sizes="16,32" ', 'data-basename="thumbnail" data-endpoint="{0}">'.format( endpoint), '<div class="image-picker-preview">', '<img src="{0}" '.format(placeholder(None, 'default')), 'data-placeholder="{0}"/>'.format(placeholder(None, 'default')), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', 'Choose a picture', '<input id="thumbnail-filename" name="thumbnail-filename" ', 'type="hidden" value="">', '<input id="thumbnail-bbox" name="thumbnail-bbox" ', 'type="hidden" value="">', '</span>', '</div>', )))
def __call__(self, field, **kwargs): sizes = ','.join(str(s) for s in field.sizes) default_img = placeholder(None, field.placeholder) html = [('<div class="image-picker-field" data-sizes="{0}" ' 'data-basename="{1}" data-endpoint="{2}">').format( sizes, field.name, field.endpoint), '<div class="image-picker-preview">', '<img src="{0}" data-placeholder="{1}"/>'.format( field.src or default_img, default_img), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', _('Choose a picture'), field.filename(), field.bbox(), '</span>', '</div>'] return HTMLString(''.join(html))
def __call__(self, field, **kwargs): sizes = ",".join(str(s) for s in field.sizes) default_img = placeholder(None, field.placeholder) html = [ ('<div class="image-picker-field" data-sizes="{0}" ' 'data-basename="{1}" data-endpoint="{2}">').format( sizes, field.name, field.endpoint ), '<div class="image-picker-preview">', '<img src="{0}" data-placeholder="{1}"/>'.format(field.src or default_img, default_img), "</div>", '<span class="image-picker-btn btn btn-default btn-file">', _("Choose a picture"), field.filename(), field.bbox(), "</span>", "</div>", ] return HTMLString("".join(html))
def test_with_image(self): endpoint = url_for('storage.upload', name=tmp.name) doc = self.D() with open(self.data('image.png')) as img: doc.image.save(img, 'image.jpg') doc.save() form = self.F(None, doc) self.assertEqual(form.image.filename.data, 'image.jpg') self.assertEqual(form.image.bbox.data, None) self.assertEqual(form.image(), ''.join(( '<div class="image-picker-field" data-sizes="100" data-basename="image" data-endpoint="{0}">'.format(endpoint), '<div class="image-picker-preview">', '<img src="{0}" data-placeholder="{1}"/>'.format(doc.image(100), placeholder(None, 'default')), '</div>', '<span class="image-picker-btn btn btn-default btn-file">', 'Choose a picture', '<input id="image-filename" name="image-filename" type="hidden" value="">', '<input id="image-bbox" name="image-bbox" type="hidden" value="">', '</span>', '</div>', )))