django-imagekit/tests/utils.py
2013-01-08 23:36:22 -05:00

57 lines
1.3 KiB
Python

from bs4 import BeautifulSoup
import os
from django.conf import settings
from django.core.files.base import ContentFile
from django.template import Context, Template
from imagekit.lib import Image, StringIO
import pickle
from .models import Photo
def get_image_file():
"""
See also:
http://en.wikipedia.org/wiki/Lenna
http://sipi.usc.edu/database/database.php?volume=misc&image=12
"""
path = os.path.join(settings.MEDIA_ROOT, 'lenna.png')
return open(path, 'r+b')
def create_image():
return Image.open(get_image_file())
def create_instance(model_class, image_name):
instance = model_class()
img = get_image_file()
file = ContentFile(img.read())
instance.original_image = file
instance.original_image.save(image_name, file)
instance.save()
img.close()
return instance
def create_photo(name):
return create_instance(Photo, name)
def pickleback(obj):
pickled = StringIO()
pickle.dump(obj, pickled)
pickled.seek(0)
return pickle.load(pickled)
def render_tag(ttag):
img = get_image_file()
template = Template('{%% load imagekit %%}%s' % ttag)
context = Context({'img': img})
return template.render(context)
def get_html_attrs(ttag):
return BeautifulSoup(render_tag(ttag)).img.attrs