Finished migrating the "proto" app (which only contained a Person profile edit
form) to the new combined trunk/app layout. Also, moved the form template
from profile.html to profile/edit.html, to follow the "one template per view"
approach (rather than have read-write vs. read-only logic in a single
template).
"""
Utility functions for handling images.
Requires PIL, as you might imagine.
"""
import ImageFile
def get_image_dimensions(path):
"""Returns the (width, height) of an image at a given path."""
p = ImageFile.Parser()
fp = open(path, 'rb')
while 1:
data = fp.read(1024)
if not data:
break
p.feed(data)
if p.image:
return p.image.size
break
fp.close()
return None