Prevent upload job creation from clobbering the input if linking data into Galaxy.

This commit is contained in:
Nate Coraor
2011-06-03 15:18:31 -04:00
parent 032aa7bdcf
commit 005c1d352b
2 changed files with 12 additions and 4 deletions
+8 -2
View File
@@ -752,7 +752,10 @@ class JobWrapper( object ):
sizes = []
output_paths = self.get_output_fnames()
for outfile in [ str( o ) for o in output_paths ]:
sizes.append( ( outfile, os.stat( outfile ).st_size ) )
if os.path.exists( outfile ):
sizes.append( ( outfile, os.stat( outfile ).st_size ) )
else:
sizes.append( ( outfile, 0 ) )
return sizes
def setup_external_metadata( self, exec_dir = None, tmp_dir = None, dataset_files_path = None, config_root = None, datatypes_config = None, set_extension = True, **kwds ):
@@ -999,7 +1002,10 @@ class TaskWrapper(JobWrapper):
sizes = []
output_paths = self.get_output_fnames()
for outfile in [ str( o ) for o in output_paths ]:
sizes.append( ( outfile, os.stat( outfile ).st_size ) )
if os.path.exists( outfile ):
sizes.append( ( outfile, os.stat( outfile ).st_size ) )
else:
sizes.append( ( outfile, 0 ) )
return sizes
def setup_external_metadata( self, exec_dir = None, tmp_dir = None, dataset_files_path = None, config_root = None, datatypes_config = None, set_extension = True, **kwds ):
+4 -2
View File
@@ -323,12 +323,14 @@ def create_job( trans, params, tool, json_file_path, data_list, folder=None, ret
for i, dataset in enumerate( data_list ):
job.add_output_library_dataset( 'output%i' % i, dataset )
# Create an empty file immediately
open( dataset.file_name, "w" ).close()
if not dataset.dataset.external_filename:
open( dataset.file_name, "w" ).close()
else:
for i, dataset in enumerate( data_list ):
job.add_output_dataset( 'output%i' % i, dataset )
# Create an empty file immediately
open( dataset.file_name, "w" ).close()
if not dataset.dataset.external_filename:
open( dataset.file_name, "w" ).close()
job.state = job.states.NEW
trans.sa_session.add( job )
trans.sa_session.flush()