Mercurial > repos > muon-spectroscopy-computational-project > larch_athena
comparison common.py @ 7:351f2cce19d1 draft
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 4814f53888643f1d3667789050914675fffb7d59
| author | muon-spectroscopy-computational-project |
|---|---|
| date | Fri, 23 Aug 2024 14:10:30 +0000 |
| parents | 30cdfd70f28d |
| children | 6e94ae7d1ca1 |
comparison
equal
deleted
inserted
replaced
| 6:30cdfd70f28d | 7:351f2cce19d1 |
|---|---|
| 9 | 9 |
| 10 def get_group(athena_group: AthenaGroup, key: str = None) -> Group: | 10 def get_group(athena_group: AthenaGroup, key: str = None) -> Group: |
| 11 group_keys = list(athena_group.keys()) | 11 group_keys = list(athena_group.keys()) |
| 12 if key is None: | 12 if key is None: |
| 13 key = group_keys[0] | 13 key = group_keys[0] |
| 14 else: | |
| 15 key = key.replace("-", "_") | |
| 16 | 14 |
| 17 try: | 15 try: |
| 18 return extract_athenagroup(athena_group.groups[key]) | 16 return extract_athenagroup(athena_group.groups[key]) |
| 19 except KeyError as e: | 17 except KeyError as e: |
| 20 raise KeyError(f"{key} not in {group_keys}") from e | 18 raise KeyError(f"{key} not in {group_keys}") from e |
| 21 | 19 |
| 22 | 20 |
| 23 def read_all_groups(dat_file: str, key: str = None) -> "dict[str, Group]": | 21 def read_all_groups(dat_file: str) -> "dict[str, Group]": |
| 24 # Cannot rely on do_ABC as _larch is None | 22 # Cannot rely on do_ABC as _larch is None |
| 25 athena_group = read_athena( | 23 athena_group = read_athena( |
| 26 dat_file, | 24 dat_file, |
| 27 do_preedge=False, | 25 do_preedge=False, |
| 28 do_bkg=False, | 26 do_bkg=False, |
| 38 | 36 |
| 39 return all_groups | 37 return all_groups |
| 40 | 38 |
| 41 | 39 |
| 42 def read_group(dat_file: str, key: str = None): | 40 def read_group(dat_file: str, key: str = None): |
| 41 if key: | |
| 42 match_ = key.replace(" ", "_").replace("-", "_").replace(".", "_") | |
| 43 else: | |
| 44 match_ = None | |
| 45 | |
| 43 # Cannot rely on do_ABC as _larch is None | 46 # Cannot rely on do_ABC as _larch is None |
| 44 athena_group = read_athena( | 47 athena_group = read_athena( |
| 45 dat_file, | 48 dat_file, |
| 49 match=match_, | |
| 46 do_preedge=False, | 50 do_preedge=False, |
| 47 do_bkg=False, | 51 do_bkg=False, |
| 48 do_fft=False, | 52 do_fft=False, |
| 49 ) | 53 ) |
| 50 group = get_group(athena_group, key) | 54 group = get_group(athena_group, match_) |
| 51 pre_edge_with_defaults(group=group) | 55 pre_edge_with_defaults(group=group) |
| 52 xftf_with_defaults(group=group) | 56 xftf_with_defaults(group=group) |
| 53 return group | 57 return group |
| 54 | 58 |
| 55 | 59 |
