def hmargin(file_, geometry_string): """ Returns the calculated margin for an image and geometry """ result = margin(file_, geometry_string).split(' ') result[0] = result[2] = '0' return ' '.join(result)
def test_margin(self): im = ImageFile(Item.objects.get(image='500x500.jpg').image) self.assertEqual(margin(im, '1000x1000'), '250px 250px 250px 250px') self.assertEqual(margin(im, '800x1000'), '250px 150px 250px 150px') self.assertEqual(margin(im, '500x500'), '0px 0px 0px 0px') self.assertEqual(margin(im, '500x501'), '0px 0px 1px 0px') self.assertEqual(margin(im, '503x500'), '0px 2px 0px 1px') self.assertEqual(margin(im, '300x300'), '-100px -100px -100px -100px')
def test_margin(self): im = ImageFile(Item.objects.get(image="500x500.jpg").image) self.assertEqual(margin(im, "1000x1000"), "250px 250px 250px 250px") self.assertEqual(margin(im, "800x1000"), "250px 150px 250px 150px") self.assertEqual(margin(im, "500x500"), "0px 0px 0px 0px") self.assertEqual(margin(im, "500x501"), "0px 0px 1px 0px") self.assertEqual(margin(im, "503x500"), "0px 2px 0px 1px") self.assertEqual(margin(im, "300x300"), "-100px -100px -100px -100px")
def nodeimage(node, size='normal', additional_classes=''): if not node: return '' key = ':'.join(['nodeimage', node._id, unicode(size), additional_classes]) value = cache.get(key) if value: return value else: if size in SIZES: html_class = 'node-image-%s' % size size = SIZES[size] else: html_class = 'node-image' if additional_classes: html_class += ' ' + additional_classes attrs = { 'alt': node.title, 'class': html_class, } if node.image: geometry = '%dx%d' % (size, size) thumbnail = node.image.ref.thumbnail(geometry) attrs['src'] = thumbnail.url attrs['style'] = 'padding:%s' % margin(thumbnail, geometry) else: attrs['src'] = node.image_url(size=size) if attrs['src']: attr_string = u' '.join(u'%s="%s"' % (name, escape(value)) for name, value in attrs.items() if value) value = u'<img %s>' % attr_string else: value = '' cache.set(key, value) return value
def margin(file_, preset_name): preset = Preset.objects.get(name=preset_name) return thumbnail.margin(file_, preset.geometry)
def icono_(self, obj): if obj.icono: im = get_thumbnail(obj.icono.file, '30') return mark_safe('<img src="{0}" style="margin:{1}">'.format( im.url, margin(im, '35x35')))
def vt_thumb_margin(image, geometry): from sorl.thumbnail.templatetags import thumbnail return thumbnail.margin(image, geometry)