def _write_out_argfile(argfile, out, fnargs, parallel, out_keys, input_files, work_dir):
    """Write output argfile, preparing a CWL ready JSON or YAML representation of the world.
    """
    with open(argfile, "w") as out_handle:
        if argfile.endswith(".json"):
            record_name, record_attrs = _get_record_attrs(out_keys)
            if record_name:
                if parallel in ["multi-batch"]:
                    recs = _nested_cwl_record(out, record_attrs, input_files)
                elif parallel in ["single-split", "multi-combined", "multi-parallel", "batch-single",
                                  "single-single"]:
                    recs = [_collapse_to_cwl_record_single(utils.to_single_data(xs), record_attrs, input_files)
                            for xs in out]
                else:
                    samples = [utils.to_single_data(xs) for xs in out]
                    recs = [_collapse_to_cwl_record(samples, record_attrs, input_files)]
                json.dump(_combine_cwl_records(recs, record_name, parallel),
                            out_handle, sort_keys=True, indent=4, separators=(', ', ': '))
            elif parallel in ["single-split", "multi-combined", "batch-split"]:
                json.dump(_convert_to_cwl_json([utils.to_single_data(xs) for xs in out], fnargs, input_files),
                            out_handle, sort_keys=True, indent=4, separators=(', ', ': '))
            else:
                json.dump(_convert_to_cwl_json(utils.to_single_data(utils.to_single_data(out)), fnargs, input_files),
                            out_handle, sort_keys=True, indent=4, separators=(', ', ': '))
        else:
            yaml.safe_dump(out, out_handle, default_flow_style=False, allow_unicode=False)
def _write_out_argfile ( argfile , out , fnargs , parallel , out_keys , input_files , work_dir ) : with open ( argfile , "w" ) as out_handle : if argfile . endswith ( ".json" ) : record_name , record_attrs = _get_record_attrs ( out_keys ) if record_name : if parallel in [ "multi-batch" ] : recs = _nested_cwl_record ( out , record_attrs , input_files ) elif parallel in [ "single-split" , "multi-combined" , "multi-parallel" , "batch-single" , "single-single" ] : recs = [ _collapse_to_cwl_record_single ( utils . to_single_data ( xs ) , record_attrs , input_files ) for xs in out ] else : samples = [ utils . to_single_data ( xs ) for xs in out ] recs = [ _collapse_to_cwl_record ( samples , record_attrs , input_files ) ] json . dump ( _combine_cwl_records ( recs , record_name , parallel ) , out_handle , sort_keys = True , indent = 4 , separators = ( ', ' , ': ' ) ) elif parallel in [ "single-split" , "multi-combined" , "batch-split" ] : json . dump ( _convert_to_cwl_json ( [ utils . to_single_data ( xs ) for xs in out ] , fnargs , input_files ) , out_handle , sort_keys = True , indent = 4 , separators = ( ', ' , ': ' ) ) else : json . dump ( _convert_to_cwl_json ( utils . to_single_data ( utils . to_single_data ( out ) ) , fnargs , input_files ) , out_handle , sort_keys = True , indent = 4 , separators = ( ', ' , ': ' ) ) else : yaml . safe_dump ( out , out_handle , default_flow_style = False , allow_unicode = False )
Write output argfile, preparing a CWL ready JSON or YAML representation of the world.