Merge branch 'fix/cli_autodrop' into develop
All checks were successful
Mypy / mypy (push) Successful in 1m12s
Pytest / pytest (3.12) (push) Successful in 1m18s
Pytest / pytest (3.13) (push) Successful in 1m12s
Pytest / pytest (3.14) (push) Successful in 1m14s
Ruff / ruff (push) Successful in 1m0s

This commit is contained in:
Justus Kuhlmann 2026-05-08 18:15:06 +02:00
commit e7480b5c96
Signed by: jkuhl
GPG key ID: 00ED992DD79B85A6
2 changed files with 20 additions and 7 deletions

View file

@ -4,15 +4,13 @@ from corrlib import __app_name__
from .initialization import create
from .toml import import_tomls, update_project, reimport_project
from .find import find_record, list_projects, list_ensembles
from .find import find_record, list_projects, list_ensembles, get_stat
from .tools import str2list
from .main import update_aliases
from .meas_io import drop_cache as mio_drop_cache
from .meas_io import load_record as mio_load_record
from .integrity import full_integrity_check
import os
from pyerrors import Corr
from importlib.metadata import version
from pathlib import Path
@ -116,6 +114,11 @@ def find(
if arg == 'all':
print(results)
else:
if arg == 'stat':
for r in results['path'].values:
stat = get_stat(path, r)
print(stat)
return
for r in results[arg].values:
print(r)
@ -132,10 +135,7 @@ def stat(
"""
Show the statistics of a given record.
"""
record = mio_load_record(path, record_id)
if isinstance(record, (list, Corr)):
record = record[0]
statistics = record.idl
statistics = get_stat(path, record_id)
print(statistics)
return
@ -173,6 +173,7 @@ def importer(
"""
file_list = files.split(",")
import_tomls(path, file_list, copy_file)
mio_drop_cache(path)
return
@ -197,6 +198,7 @@ def reimporter(
raise Exception("This file is not known for this project.")
else:
reimport_project(path, uuid)
mio_drop_cache(path)
return

View file

@ -13,6 +13,8 @@ from pathlib import Path
import datetime as dt
from collections.abc import Callable
import warnings
from .meas_io import load_record
from pyerrors import Corr, Obs
def _project_lookup_by_alias(path: Path, alias: str) -> str:
@ -389,3 +391,12 @@ def list_ensembles(path: Path) -> list[str]:
if os.path.isdir(path / "archive" / item):
res.append(item)
return res
def get_stat(path: Path, record_id: str) -> Any:
loaded_record: Obs = load_record(path, record_id)
if isinstance(loaded_record, (list, Corr)):
record: Obs = loaded_record[0]
else:
record = loaded_record
return record.idl