def merge_exercises(app: Sphinx, env: BuildEnvironment, docnames: Set[str], other: BuildEnvironment) -> None: if not hasattr(env, "exercise_list"): env.exercise_list = {} # Merge env stored data if hasattr(other, "exercise_list"): env.exercise_list = {**env.exercise_list, **other.exercise_list}
def purge_exercises(app: Sphinx, env: BuildEnvironment, docname: str) -> None: if not hasattr(env, "exercise_list"): return # Override env.exercise_list env.exercise_list = { exercise: env.exercise_list[exercise] for exercise in env.exercise_list.keys() if env.exercise_list[exercise]["docname"] != docname }