|
23 | 23 |
|
24 | 24 | from .base import load_extractor |
25 | 25 | from .recording_tools import check_probe_do_not_overlap, get_rec_attributes, do_recording_attributes_match |
26 | | -from .core_tools import check_json, retrieve_importing_provenance, is_path_remote |
| 26 | +from .core_tools import check_json, retrieve_importing_provenance, is_path_remote, clean_zarr_folder_name |
27 | 27 | from .sorting_tools import generate_unit_ids_for_merge_group, _get_ids_after_merging |
28 | 28 | from .job_tools import split_job_kwargs |
29 | 29 | from .numpyextractors import NumpySorting |
@@ -111,6 +111,8 @@ def create_sorting_analyzer( |
111 | 111 | sparsity off (or give external sparsity) like this. |
112 | 112 | """ |
113 | 113 | if format != "memory": |
| 114 | + if format == "zarr": |
| 115 | + folder = clean_zarr_folder_name(folder) |
114 | 116 | if Path(folder).is_dir(): |
115 | 117 | if not overwrite: |
116 | 118 | raise ValueError(f"Folder already exists {folder}! Use overwrite=True to overwrite it.") |
@@ -269,6 +271,8 @@ def create( |
269 | 271 | sorting_analyzer = cls.load_from_binary_folder(folder, recording=recording) |
270 | 272 | sorting_analyzer.folder = Path(folder) |
271 | 273 | elif format == "zarr": |
| 274 | + assert folder is not None, "For format='zarr' folder must be provided" |
| 275 | + folder = clean_zarr_folder_name(folder) |
272 | 276 | cls.create_zarr(folder, sorting, recording, sparsity, return_scaled, rec_attributes=None) |
273 | 277 | sorting_analyzer = cls.load_from_zarr(folder, recording=recording) |
274 | 278 | sorting_analyzer.folder = Path(folder) |
@@ -487,10 +491,7 @@ def create_zarr(cls, folder, sorting, recording, sparsity, return_scaled, rec_at |
487 | 491 | import zarr |
488 | 492 | import numcodecs |
489 | 493 |
|
490 | | - folder = Path(folder) |
491 | | - # force zarr sufix |
492 | | - if folder.suffix != ".zarr": |
493 | | - folder = folder.parent / f"{folder.stem}.zarr" |
| 494 | + folder = clean_zarr_folder_name(folder) |
494 | 495 |
|
495 | 496 | if folder.is_dir(): |
496 | 497 | raise ValueError(f"Folder already exists {folder}") |
@@ -768,9 +769,7 @@ def _save_or_select_or_merge( |
768 | 769 |
|
769 | 770 | elif format == "zarr": |
770 | 771 | assert folder is not None, "For format='zarr' folder must be provided" |
771 | | - folder = Path(folder) |
772 | | - if folder.suffix != ".zarr": |
773 | | - folder = folder.parent / f"{folder.stem}.zarr" |
| 772 | + folder = clean_zarr_folder_name(folder) |
774 | 773 | SortingAnalyzer.create_zarr( |
775 | 774 | folder, sorting_provenance, recording, sparsity, self.return_scaled, self.rec_attributes |
776 | 775 | ) |
|
0 commit comments