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