let cli drop cache when importing a new project, add stat flag for find
This commit is contained in:
parent
4e3327709e
commit
b3991ecc67
2 changed files with 21 additions and 7 deletions
|
|
@ -1,14 +1,13 @@
|
||||||
from typing import Optional
|
from typing import Optional, Any
|
||||||
import typer
|
import typer
|
||||||
from corrlib import __app_name__
|
from corrlib import __app_name__
|
||||||
|
|
||||||
from .initialization import create
|
from .initialization import create
|
||||||
from .toml import import_tomls, update_project, reimport_project
|
from .toml import import_tomls, update_project, reimport_project
|
||||||
from .find import find_record, list_projects
|
from .find import find_record, list_projects, get_stat
|
||||||
from .tools import str2list
|
from .tools import str2list
|
||||||
from .main import update_aliases
|
from .main import update_aliases
|
||||||
from .meas_io import drop_cache as mio_drop_cache
|
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
|
from .integrity import full_integrity_check
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
@ -116,6 +115,11 @@ def find(
|
||||||
if arg == 'all':
|
if arg == 'all':
|
||||||
print(results)
|
print(results)
|
||||||
else:
|
else:
|
||||||
|
if arg == 'stat':
|
||||||
|
for r in results['path'].values:
|
||||||
|
stat = get_stat(path, r)
|
||||||
|
print(stat)
|
||||||
|
return
|
||||||
for r in results[arg].values:
|
for r in results[arg].values:
|
||||||
print(r)
|
print(r)
|
||||||
|
|
||||||
|
|
@ -132,10 +136,7 @@ def stat(
|
||||||
"""
|
"""
|
||||||
Show the statistics of a given record.
|
Show the statistics of a given record.
|
||||||
"""
|
"""
|
||||||
record = mio_load_record(path, record_id)
|
statistics = get_stat(path, record_id)
|
||||||
if isinstance(record, (list, Corr)):
|
|
||||||
record = record[0]
|
|
||||||
statistics = record.idl
|
|
||||||
print(statistics)
|
print(statistics)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -170,6 +171,7 @@ def importer(
|
||||||
"""
|
"""
|
||||||
file_list = files.split(",")
|
file_list = files.split(",")
|
||||||
import_tomls(path, file_list, copy_file)
|
import_tomls(path, file_list, copy_file)
|
||||||
|
mio_drop_cache(path)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -194,6 +196,7 @@ def reimporter(
|
||||||
raise Exception("This file is not known for this project.")
|
raise Exception("This file is not known for this project.")
|
||||||
else:
|
else:
|
||||||
reimport_project(path, uuid)
|
reimport_project(path, uuid)
|
||||||
|
mio_drop_cache(path)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ from pathlib import Path
|
||||||
import datetime as dt
|
import datetime as dt
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
import warnings
|
import warnings
|
||||||
|
from .meas_io import load_record
|
||||||
|
from pyerrors import Corr, Obs
|
||||||
|
|
||||||
|
|
||||||
def _project_lookup_by_alias(path: Path, alias: str) -> str:
|
def _project_lookup_by_alias(path: Path, alias: str) -> str:
|
||||||
|
|
@ -381,3 +383,12 @@ def list_projects(path: Path) -> list[tuple[str, str]]:
|
||||||
conn.close()
|
conn.close()
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue