Mercurial > repos > muon-spectroscopy-computational-project > larch_lcf
diff common.py @ 4:c2d5bfef5b63 draft
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_lcf commit 4814f53888643f1d3667789050914675fffb7d59
author | muon-spectroscopy-computational-project |
---|---|
date | Fri, 23 Aug 2024 14:10:44 +0000 |
parents | 6bb927e155fc |
children | 90a69f15ab92 |
line wrap: on
line diff
--- a/common.py Thu Apr 11 09:02:19 2024 +0000 +++ b/common.py Fri Aug 23 14:10:44 2024 +0000 @@ -1,3 +1,4 @@ +import re from typing import Iterable from larch.io import extract_athenagroup, read_athena @@ -10,8 +11,6 @@ group_keys = list(athena_group.keys()) if key is None: key = group_keys[0] - else: - key = key.replace("-", "_") try: return extract_athenagroup(athena_group.groups[key]) @@ -19,7 +18,7 @@ raise KeyError(f"{key} not in {group_keys}") from e -def read_all_groups(dat_file: str, key: str = None) -> "dict[str, Group]": +def read_all_groups(dat_file: str) -> "dict[str, Group]": # Cannot rely on do_ABC as _larch is None athena_group = read_athena( dat_file, @@ -39,14 +38,20 @@ def read_group(dat_file: str, key: str = None): + if key: + match_ = key.replace(" ", "_").replace("-", "_").replace(".", "_") + else: + match_ = None + # Cannot rely on do_ABC as _larch is None athena_group = read_athena( dat_file, + match=match_, do_preedge=False, do_bkg=False, do_fft=False, ) - group = get_group(athena_group, key) + group = get_group(athena_group, match_) pre_edge_with_defaults(group=group) xftf_with_defaults(group=group) return group @@ -168,3 +173,7 @@ def read_groups(dat_files: "list[str]", key: str = None) -> Iterable[Group]: for dat_file in dat_files: yield read_group(dat_file=dat_file, key=key) + + +def sorting_key(filename: str) -> str: + return re.findall(r"\d+", filename)[-1]