Skip to content

Commit

Permalink
add optional message when deleting items from pastastore
Browse files Browse the repository at this point in the history
  • Loading branch information
dbrakenhoff committed Oct 9, 2024
1 parent 4fad416 commit 9e13cac
Showing 1 changed file with 26 additions and 8 deletions.
34 changes: 26 additions & 8 deletions pastastore/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -675,22 +675,27 @@ def upsert_stress(
metadata["kind"] = kind
self._upsert_series("stresses", series, name, metadata=metadata)

def del_models(self, names: Union[list, str]) -> None:
def del_models(self, names: Union[list, str], verbose: bool = True) -> None:
"""Delete model(s) from the database.
Parameters
----------
names : str or list of str
name(s) of the model to delete
verbose : bool, optional
print information about deleted models, by default True
"""
for n in self._parse_names(names, libname="models"):
names = self._parse_names(names, libname="models")
for n in names:
mldict = self.get_models(n, return_dict=True)
oname = mldict["oseries"]["name"]
self._del_item("models", n)
self._del_oseries_model_link(oname, n)
self._clear_cache("_modelnames_cache")
if verbose:
print(f"Deleted {len(names)} model(s) from database.")

def del_model(self, names: Union[list, str]) -> None:
def del_model(self, names: Union[list, str], verbose: bool = True) -> None:
"""Delete model(s) from the database.
Alias for del_models().
Expand All @@ -699,10 +704,14 @@ def del_model(self, names: Union[list, str]) -> None:
----------
names : str or list of str
name(s) of the model to delete
verbose : bool, optional
print information about deleted models, by default True
"""
self.del_models(names=names)
self.del_models(names=names, verbose=verbose)

def del_oseries(self, names: Union[list, str], remove_models: bool = False):
def del_oseries(
self, names: Union[list, str], remove_models: bool = False, verbose: bool = True
):
"""Delete oseries from the database.
Parameters
Expand All @@ -711,29 +720,38 @@ def del_oseries(self, names: Union[list, str], remove_models: bool = False):
name(s) of the oseries to delete
remove_models : bool, optional
also delete models for deleted oseries, default is False
verbose : bool, optional
print information about deleted oseries, by default True
"""
names = self._parse_names(names, libname="oseries")
for n in names:
self._del_item("oseries", n)
self._clear_cache("oseries")
if verbose:
print(f"Deleted {len(names)} oseries from database.")
# remove associated models from database
if remove_models:
modelnames = list(
chain.from_iterable([self.oseries_models.get(n, []) for n in names])
)
self.del_models(modelnames)
self.del_models(modelnames, verbose=verbose)

def del_stress(self, names: Union[list, str]):
def del_stress(self, names: Union[list, str], verbose: bool = True):
"""Delete stress from the database.
Parameters
----------
names : str or list of str
name(s) of the stress to delete
verbose : bool, optional
print information about deleted stresses, by default True
"""
for n in self._parse_names(names, libname="stresses"):
names = self._parse_names(names, libname="stresses")
for n in names:
self._del_item("stresses", n)
self._clear_cache("stresses")
if verbose:
print(f"Deleted {len(names)} stress(es) from database.")

def _get_series(
self,
Expand Down

0 comments on commit 9e13cac

Please sign in to comment.