Source code for saveable_objects.checkpointing._checkpointing

from typing import Tuple

from .._saveable_object import SaveableObject

[docs] def failed(load_attempt: SaveableObject | bool | Tuple[SaveableObject, bool]) -> bool: """Determines if a :class:`SaveableObject <saveable_objects.SaveableObject>` :meth:`.load() <saveable_objects.SaveableObject.load>`, :meth:`.tryload() <saveable_objects.SaveableObject.tryload>`, :meth:`.loadif() <saveable_objects.SaveableObject.loadif>`, or :meth:`.loadifparams() <saveable_objects.SaveableObject.loadifparams>` attempt fails. Parameters ---------- load_attempt : SaveableObject | bool | (SaveableObject, bool) The output of :meth:`load() <saveable_objects.SaveableObject.load>`, :meth:`tryload() <saveable_objects.SaveableObject.tryload>`, :meth:`loadif() <saveable_objects.SaveableObject.loadif>`, or :meth:`loadifparams() <saveable_objects.SaveableObject.loadifparams>`. Returns ------- bool Returns ``True`` is the the `load_attempt` failed, else ``False``. Notes ----- Example use: .. code-block:: python if failed(obj := SaveableObject.loadif(*args, path="filename.pkl", **kwargs)): ... # code that generates obj ... # code that uses obj """ try: return not load_attempt[1] except: return not load_attempt
[docs] def succeeded(load_attempt: SaveableObject | bool | Tuple[SaveableObject, bool]) -> bool: """Determines if a :class:`SaveableObject <saveable_objects.SaveableObject>` :meth:`.load() <saveable_objects.SaveableObject.load>`, :meth:`.tryload() <saveable_objects.SaveableObject.tryload>`, :meth:`.loadif() <saveable_objects.SaveableObject.loadif>`, or :meth:`.loadifparams() <saveable_objects.SaveableObject.loadifparams>` attempt succeeds. Parameters ---------- load_attempt : SaveableObject | bool | (SaveableObject, bool) The output of :meth:`load() <saveable_objects.SaveableObject.load>`, :meth:`tryload() <saveable_objects.SaveableObject.tryload>`, :meth:`loadif() <saveable_objects.SaveableObject.loadif>`, or :meth:`loadifparams() <saveable_objects.SaveableObject.loadifparams>`. Returns ------- bool Returns ``True`` is the the `load_attempt` succeeded, else ``False``. Notes ----- Example use: .. code-block:: python if succeeded(obj := SaveableObject.loadif(*args, path="filename.pkl", **kwargs)): ... # code that uses a successfully loaded obj else: ... # code to run if obj failed to load """ return not failed(load_attempt)