diff --git a/lib/galaxy/datatypes/images.py b/lib/galaxy/datatypes/images.py index fe5f87b18fc..f3858ccc68e 100644 --- a/lib/galaxy/datatypes/images.py +++ b/lib/galaxy/datatypes/images.py @@ -8,8 +8,8 @@ from six.moves.urllib.parse import quote_plus from galaxy.datatypes.binary import Binary from galaxy.datatypes.sniff import get_headers from galaxy.datatypes.text import Html as HtmlFromText -from galaxy.datatypes.util.image_util import check_image_type from galaxy.util import nice_size +from galaxy.util.image_util import check_image_type from . import data log = logging.getLogger(__name__) diff --git a/lib/galaxy/datatypes/sequence.py b/lib/galaxy/datatypes/sequence.py index 1b4619d731e..a6d67f2af32 100644 --- a/lib/galaxy/datatypes/sequence.py +++ b/lib/galaxy/datatypes/sequence.py @@ -15,9 +15,9 @@ from six import PY3 from galaxy import util from galaxy.datatypes import metadata from galaxy.util.checkers import is_gzip +from galaxy.util.image_util import check_image_type from galaxy.datatypes.metadata import MetadataElement from galaxy.datatypes.sniff import get_headers -from galaxy.datatypes.util.image_util import check_image_type from galaxy.util import nice_size from . import data diff --git a/lib/galaxy/util/checkers.py b/lib/galaxy/util/checkers.py index 6d187b5dad8..daf8866424b 100644 --- a/lib/galaxy/util/checkers.py +++ b/lib/galaxy/util/checkers.py @@ -1,22 +1,16 @@ import bz2 import gzip -import imghdr import re import zipfile from six import StringIO from galaxy import util +from galaxy.util.image_util import image_type HTML_CHECK_LINES = 100 -def check_image( file_path ): - if imghdr.what( file_path ) is not None: - return True - return False - - def check_html( file_path, chunk=None ): if chunk is None: temp = open( file_path, "U" ) @@ -126,6 +120,13 @@ def is_gzip( file_path ): return is_gzipped +def check_image( file_path ): + """ Simple wrapper around image_type to yield a True/False verdict """ + if image_type( file_path ): + return True + return False + + __all__ = [ 'check_binary', 'check_bz2', diff --git a/lib/galaxy/datatypes/util/image_util.py b/lib/galaxy/util/image_util.py similarity index 100% rename from lib/galaxy/datatypes/util/image_util.py rename to lib/galaxy/util/image_util.py diff --git a/tools/data_source/upload.py b/tools/data_source/upload.py index f725cf19782..85355c3eb3b 100644 --- a/tools/data_source/upload.py +++ b/tools/data_source/upload.py @@ -20,17 +20,10 @@ from galaxy import util from galaxy.datatypes import sniff from galaxy.datatypes.binary import Binary from galaxy.datatypes.registry import Registry -from galaxy.datatypes.util.image_util import get_image_ext from galaxy.util import multi_byte -from galaxy.util.checkers import check_binary, check_bz2, check_gzip, check_html, check_image, check_zip +from galaxy.util.checkers import check_binary, check_bz2, check_gzip, check_html, check_zip +from galaxy.util.image_util import get_image_ext -try: - import Image as PIL -except ImportError: - try: - from PIL import Image as PIL - except: - PIL = None try: import bz2 @@ -116,8 +109,9 @@ def add_file( dataset, registry, json_file, output_path ): except UnicodeDecodeError as e: dataset.is_multi_byte = False # Is dataset an image? - if check_image( dataset.path ): - ext = get_image_ext( dataset.path ) + i_ext = get_image_ext( dataset.path ) + if i_ext: + ext = i_ext data_type = ext # Is dataset content multi-byte? elif dataset.is_multi_byte: