(self, dataset)
| 261 | self._dump_lockfile(stages, **kwargs) |
| 262 | |
| 263 | def dump_dataset(self, dataset): |
| 264 | with modify_yaml(self.path, fs=self.repo.fs) as data: |
| 265 | parsed = self.datasets if data else [] |
| 266 | raw = data.setdefault("datasets", []) |
| 267 | loc = next( |
| 268 | (i for i, ds in enumerate(parsed) if ds["name"] == dataset["name"]), |
| 269 | None, |
| 270 | ) |
| 271 | if loc is not None: |
| 272 | if raw[loc] != parsed[loc]: |
| 273 | raise ParametrizedDumpError( |
| 274 | "cannot update a parametrized dataset entry" |
| 275 | ) |
| 276 | |
| 277 | apply_diff(dataset, raw[loc]) |
| 278 | raw[loc] = dataset |
| 279 | else: |
| 280 | raw.append(dataset) |
| 281 | self.repo.scm_context.track_file(self.relpath) |
| 282 | |
| 283 | def _dump_lockfile(self, stages, **kwargs): |
| 284 | self._lockfile.dump_stages(stages, **kwargs) |
no test coverage detected