Fix for multi-byte file uploads

This commit is contained in:
Nate Coraor
2009-08-25 14:58:37 -04:00
parent 7e142f27bf
commit 2e407c0b21
3 changed files with 8 additions and 1 deletions
+1
View File
@@ -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,
+2
View File
@@ -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
+5 -1
View File
@@ -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,