Unverified Commit 27991b95 authored by mvdbeek's avatar mvdbeek
Browse files

Fix writing data bundle manifest to object store

parent 3c4e1195
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1174,8 +1174,10 @@ class ToolDataTableManager(Dictifiable):
        out_data: Dict[str, OutputDataset],
        bundle_description: DataTableBundleProcessorDescription,
        repo_info: Optional[RepoInfo],
    ) -> None:
    ) -> Dict[str, OutputDataset]:
        """Writes bundle and returns bundle path."""
        data_manager_dict = _data_manager_dict(out_data, ensure_single_output=True)
        bundle_datasets: Dict[str, OutputDataset] = {}
        for output_name, dataset in out_data.items():
            if dataset.ext != "data_manager_json":
                continue
@@ -1190,6 +1192,8 @@ class ToolDataTableManager(Dictifiable):
            bundle_path = os.path.join(extra_files_path, BUNDLE_INDEX_FILE_NAME)
            with open(bundle_path, "w") as fw:
                json.dump(bundle.dict(), fw)
            bundle_datasets[bundle_path] = dataset
        return bundle_datasets


SUPPORTED_DATA_TABLE_TYPES = TabularToolDataTable
+11 −1
Original line number Diff line number Diff line
@@ -3064,7 +3064,17 @@ class DataManagerTool(OutputParameterJSONTool):
        elif data_manager_mode == "dry_run":
            pass
        elif data_manager_mode == "bundle":
            data_manager.write_bundle(out_data)
            for bundle_path, dataset in data_manager.write_bundle(out_data).items():
                dataset = cast(model.HistoryDatasetAssociation, dataset)
                dataset.dataset.object_store.update_from_file(
                    dataset.dataset,
                    extra_dir=dataset.dataset.extra_files_path_name,
                    file_name=bundle_path,
                    alt_name=os.path.basename(bundle_path),
                    create=True,
                    preserve_symlinks=True,
                )

        else:
            raise Exception("Unknown data manager mode encountered type...")

+2 −2
Original line number Diff line number Diff line
@@ -236,9 +236,9 @@ class DataManager:
    def write_bundle(
        self,
        out_data: Dict[str, OutputDataset],
    ) -> None:
    ):
        tool_data_tables = self.data_managers.app.tool_data_tables
        tool_data_tables.write_bundle(
        return tool_data_tables.write_bundle(
            out_data,
            self.processor_description,
            self.repo_info,