From cd7d6e0ba8f3035c7dcc0cb70dba315c9f1c474e Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Sun, 29 May 2022 12:18:26 +0200 Subject: [PATCH] added running backups of df dumps --- stand/utils/dfh.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/stand/utils/dfh.py b/stand/utils/dfh.py index 25dd1be..5cda416 100644 --- a/stand/utils/dfh.py +++ b/stand/utils/dfh.py @@ -42,6 +42,31 @@ def dump_non_empty_df(df, fn, key="data"): return print(f"<<< dump dataframe to {fn}") df.to_hdf(fn, key) + backup(df, fn, key) #TODO: test then remove + + + +# the following is just a safety precaution +# if everything works, it can be removed + +from datetime import datetime +from pathlib import Path + +FMT = "%Y-%m-%d_%H-%M-%S-%f" +BAKDIR = ".backup" + +def backup(df, fn, key): + Path(BAKDIR).mkdir(parents=True, exist_ok=True) + bfn = backup_filename(fn) + print(f"<<< backup dataframe to {bfn}") + df.to_hdf(bfn, key) + +def backup_filename(fn): + p = Path(fn) + fn = p.stem + ext = p.suffix + ts = datetime.now().strftime(FMT) + return f"{BAKDIR}/{fn}_{ts}{ext}"