Skip to content

Commit

Permalink
add session to insert toc and hide solutions
Browse files Browse the repository at this point in the history
  • Loading branch information
mcflugen committed Mar 7, 2023
1 parent 3e9386e commit 73e9cfc
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,63 @@ def test_notebooks(session: nox.Session) -> None:
session.run(*args)


@nox.session(name="insert-toc")
def insert_toc(session: nox.Session) -> None:
session.install("git+https://github.com/mcflugen/heartfelt-hooks.git")

notebooks = (
"lessons/landlab/landlab/bedrock_landslides_on_dems.ipynb",
"lessons/landlab/landlab/create_a_component.ipynb",
"lessons/landlab/landlab/fault-scarp.ipynb",
"lessons/landlab/landlab/intro-to-grids-solution.ipynb",
"lessons/landlab/landlab/intro_part_for_component_clinic.ipynb",
"lessons/landlab/landlab/landlab-fault-scarp-for-espin-solution.ipynb",
"lessons/landlab/landlab/overland_flow.ipynb",
"lessons/landlab/landlab/practice-your-skills-solution.ipynb",
"lessons/landlab/landlab/tidal_flow_calculator.ipynb",
)

for notebook in notebooks:
session.run("insert-toc", "--in-place", "--allow-missing-toc", "-vvv", notebook)


@nox.session(name="hide-solutions")
def hide_solutions(session: nox.Session) -> None:
session.install("git+https://github.com/mcflugen/heartfelt-hooks.git")

insert_toc(session)

solution_notebooks = (
(
"lessons/landlab/landlab/practice-your-skills-solution.ipynb",
"lessons/landlab/landlab/practice-your-skills.ipynb",
),
(
"lessons/landlab/landlab/intro-to-grids-solution.ipynb",
"lessons/landlab/landlab/intro-to-grids.ipynb",
),
(
"lessons/landlab/landlab/landlab-fault-scarp-for-espin-solution.ipynb",
"lessons/landlab/landlab/landlab-fault-scarp-for-espin.ipynb",
),
)

for solution, lesson in solution_notebooks:
shutil.copy(solution, solution + ".bak")
out = session.run(
"hide-solution-cells",
"--silent",
"--tags-to-hide=solution",
solution,
external=True,
silent=True,
)

session.log(f"overwriting {lesson}")
with open(lesson, "w") as fp:
fp.write(out)


@nox.session
def lint(session: nox.Session) -> None:
"""Look for lint."""
Expand Down

0 comments on commit 73e9cfc

Please sign in to comment.