Warning
This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for galaxy.util.image_util
"""Provides utilities for working with image files."""
from __future__ import absolute_import
import imghdr
import logging
try:
import Image as PIL
except ImportError:
try:
from PIL import Image as PIL
except ImportError:
PIL = None
log = logging.getLogger(__name__)
[docs]def image_type(filename):
fmt = None
if PIL is not None:
try:
im = PIL.open(filename)
fmt = im.format
im.close()
except Exception:
# We continue to try with imghdr, so this is a rare case of an
# exception we expect to happen frequently, so we're not logging
pass
if not fmt:
fmt = imghdr.what(filename)
if fmt:
return fmt.upper()
else:
return False
[docs]def check_image_type(filename, types):
fmt = image_type(filename)
if fmt in types:
return True
return False