Warning
This document is for an in-development version 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