Source code for metawards.iterators._iterate_default


from typing import List as _List
from ..utils._get_functions import MetaFunction

__all__ = ["iterate_default"]


[docs]def iterate_default(stage: str, **kwargs) -> _List[MetaFunction]: """This returns the default list of 'advance_XXX' functions that are called in sequence for each iteration of the model run. This is the default iterator. It models every day as though it is a working day. Parameters ---------- stage: str Which stage of the day is to be modelled Returns ------- funcs: List[MetaFunction] The list of functions that will be called in sequence """ if stage == "initialise": from ._setup_imports import setup_seed_wards return [setup_seed_wards] elif stage == "setup": from ._advance_additional import advance_additional return [advance_additional] elif stage == "foi": from ._advance_foi import advance_foi from ._advance_recovery import advance_recovery return [advance_foi, advance_recovery] elif stage == "infect": from ._iterate_weekday import iterate_weekday return iterate_weekday(**kwargs) else: # we don't do anything at the "analyse" or "finalise" stages return []