def __gather_runner(func, chunk_input_json, output_file, chunk_key): chunks = IO.load_pipeline_chunks_from_json(chunk_input_json) # Allow looseness if not chunk_key.startswith('$chunk.'): chunk_key = '$chunk.' + chunk_key log.warn("Prepending chunk key with '$chunk.' to '{c}'".format(c=chunk_key)) chunked_files = get_datum_from_chunks_by_chunk_key(chunks, chunk_key) _ = func(chunked_files, output_file) return 0
def __gather_runner(func, chunk_input_json, output_file, chunk_key, **kwargs): chunks = IO.load_pipeline_chunks_from_json(chunk_input_json) # Allow looseness if not chunk_key.startswith('$chunk.'): chunk_key = '$chunk.' + chunk_key log.warn("Prepending chunk key with '$chunk.' to '{c}'".format(c=chunk_key)) chunked_files = get_datum_from_chunks_by_chunk_key(chunks, chunk_key) _ = func(chunked_files, output_file, **kwargs) return 0
def test_write_chunks(self): def f(i): return {"{c}movie_fofn_id".format(c=PipelineChunk.CHUNK_KEY_PREFIX): "/path/to_movie-{i}.fofn".format(i=i), "{c}region_fofn_id".format(c=PipelineChunk.CHUNK_KEY_PREFIX): "/path/rgn_{i}.fofn".format(i=i)} to_i = lambda i: "chunk-id-{i}".format(i=i) to_p = lambda i: PipelineChunk(to_i(i), **f(i)) nchunks = 5 pipeline_chunks = [to_p(i) for i in xrange(nchunks)] log.debug(pipeline_chunks) tmp_name = get_temp_file("_chunk.json") IO.write_pipeline_chunks(pipeline_chunks, tmp_name, "Example chunk file") pchunks = IO.load_pipeline_chunks_from_json(tmp_name) self.assertEquals(len(pchunks), nchunks)
def test_write_chunks(self): def f(i): return { "{c}movie_fofn_id".format(c=PipelineChunk.CHUNK_KEY_PREFIX): "/path/to_movie-{i}.fofn".format(i=i), "{c}region_fofn_id".format(c=PipelineChunk.CHUNK_KEY_PREFIX): "/path/rgn_{i}.fofn".format(i=i) } to_i = lambda i: "chunk-id-{i}".format(i=i) to_p = lambda i: PipelineChunk(to_i(i), **f(i)) nchunks = 5 pipeline_chunks = [to_p(i) for i in xrange(nchunks)] log.debug(pipeline_chunks) tmp_name = get_temp_file("_chunk.json") IO.write_pipeline_chunks(pipeline_chunks, tmp_name, "Example chunk file") pchunks = IO.load_pipeline_chunks_from_json(tmp_name) self.assertEquals(len(pchunks), nchunks)
def _validate_chunk_json_file(path): chunks = IO.load_pipeline_chunks_from_json(path) return path