From 4110579b8912ded14404c6df2f2eb3fa1dd0ee26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Sierro?= Date: Thu, 19 Oct 2023 10:45:03 +0200 Subject: [PATCH] automatic glob of propagations --- src/scgenerator/spectra.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/scgenerator/spectra.py b/src/scgenerator/spectra.py index 9c95ab8..f081e32 100644 --- a/src/scgenerator/spectra.py +++ b/src/scgenerator/spectra.py @@ -15,6 +15,7 @@ from scgenerator.io import ( MemoryIOHandler, PropagationIOHandler, ZipFileIOHandler, + logical_sort_key, unique_name, ) from scgenerator.logger import get_logger @@ -359,7 +360,9 @@ def propagation( def propagation_series( - files: Sequence[os.PathLike], index: int | slice | None = None, progress_bar: bool = False + files: Sequence[os.PathLike] | os.PathLike, + index: int | slice | None = None, + progress_bar: bool = False, ) -> tuple[Spectrum, PropagationCollection]: """ loads an existing sequence of propagation @@ -379,6 +382,8 @@ def propagation_series( PropagationCollection convenient object to work with multiple propagations **built on the same grid** """ + if isinstance(files, str) or not isinstance(files, Sequence): + files = sorted(Path(files).glob("*.zip"), key=logical_sort_key) if len(files) == 0: raise ValueError("You must provide at least one file to build a propagation series")