From 2e407c0b21730dc5c768cc16e8844cacc2190c28 Mon Sep 17 00:00:00 2001 From: Nate Coraor Date: Tue, 25 Aug 2009 14:58:37 -0400 Subject: [PATCH] Fix for multi-byte file uploads --- lib/galaxy/tools/actions/upload.py | 1 + lib/galaxy/tools/parameters/grouping.py | 2 ++ tools/data_source/upload.py | 6 +++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/tools/actions/upload.py b/lib/galaxy/tools/actions/upload.py index ec5338d579e..f2177eeecf4 100644 --- a/lib/galaxy/tools/actions/upload.py +++ b/lib/galaxy/tools/actions/upload.py @@ -104,6 +104,7 @@ class UploadToolAction( ToolAction ): except: is_binary = None json = dict( file_type = uploaded_dataset.file_type, + ext = uploaded_dataset.ext, name = uploaded_dataset.name, dataset_id = data.dataset.id, dbkey = uploaded_dataset.dbkey, diff --git a/lib/galaxy/tools/parameters/grouping.py b/lib/galaxy/tools/parameters/grouping.py index adda7f80db7..e05f8f0213a 100644 --- a/lib/galaxy/tools/parameters/grouping.py +++ b/lib/galaxy/tools/parameters/grouping.py @@ -327,6 +327,8 @@ class UploadDataset( Group ): rval = [] for dataset in datasets: dataset.file_type = file_type + dataset.datatype = d_type + dataset.ext = self.get_datatype_ext( trans, context ) dataset.dbkey = dbkey rval.append( dataset ) return rval diff --git a/tools/data_source/upload.py b/tools/data_source/upload.py index 5b40b28ddd9..97500008804 100644 --- a/tools/data_source/upload.py +++ b/tools/data_source/upload.py @@ -136,7 +136,7 @@ def add_file( dataset, json_file ): file_err( 'The uploaded file is empty', dataset, json_file ) return if 'is_multi_byte' not in dir( dataset ): - dataset.is_multi_byte = util.is_multi_byte( open( dataset.path, 'r' ).read( 1024 )[:100] ) + dataset.is_multi_byte = util.is_multi_byte( open( dataset.path, 'r' ).read( 1024 ) ) if dataset.is_multi_byte: ext = sniff.guess_ext( dataset.path, is_multi_byte=True ) data_type = ext @@ -225,6 +225,10 @@ def add_file( dataset, json_file ): ext = dataset.file_type data_type = ext # Save job info for the framework + if ext == 'auto' and dataset.ext: + ext = dataset.ext + if ext == 'auto': + ext = 'data' info = dict( type = 'dataset', dataset_id = dataset.dataset_id, path = dataset.path,