|
1 | 1 | """Nox sessions.""" |
| 2 | + |
2 | 3 | from __future__ import annotations |
3 | 4 |
|
4 | 5 | from pathlib import Path |
|
20 | 21 | TEMPLATE_FOLDER: Path = REPO_ROOT / "{{cookiecutter.project_name}}" |
21 | 22 |
|
22 | 23 |
|
23 | | -COOKIECUTTER_HYPERMODERN_PYTHON_CACHE_FOLDER: Path = Path(platformdirs.user_cache_path( |
24 | | - appname="cookiecutter-hypermodern-python", |
25 | | - appauthor="56kyle", |
26 | | - ensure_exists=True |
27 | | -)).resolve() |
| 24 | +COOKIECUTTER_HYPERMODERN_PYTHON_CACHE_FOLDER: Path = Path( |
| 25 | + platformdirs.user_cache_path( |
| 26 | + appname="cookiecutter-hypermodern-python", |
| 27 | + appauthor="56kyle", |
| 28 | + ensure_exists=True, |
| 29 | + ) |
| 30 | +).resolve() |
28 | 31 |
|
29 | | -PROJECT_DEMOS_FOLDER: Path = COOKIECUTTER_HYPERMODERN_PYTHON_CACHE_FOLDER / "project_demos" |
| 32 | +PROJECT_DEMOS_FOLDER: Path = ( |
| 33 | + COOKIECUTTER_HYPERMODERN_PYTHON_CACHE_FOLDER / "project_demos" |
| 34 | +) |
30 | 35 | DEFAULT_DEMO_NAME: str = "demo-project" |
31 | 36 | DEMO_ROOT_FOLDER: Path = PROJECT_DEMOS_FOLDER / DEFAULT_DEMO_NAME |
32 | 37 |
|
33 | 38 | GENERATE_DEMO_PROJECT_OPTIONS: tuple[str, ...] = ( |
34 | 39 | *("--repo-folder", REPO_ROOT), |
35 | 40 | *("--demos-cache-folder", PROJECT_DEMOS_FOLDER), |
36 | | - *("--demo-name", DEFAULT_DEMO_NAME) |
| 41 | + *("--demo-name", DEFAULT_DEMO_NAME), |
37 | 42 | ) |
38 | 43 |
|
39 | 44 | SYNC_POETRY_WITH_DEMO_OPTIONS: tuple[str, ...] = ( |
40 | 45 | *("--template-folder", TEMPLATE_FOLDER), |
41 | 46 | *("--demos-cache-folder", PROJECT_DEMOS_FOLDER), |
42 | | - *("--demo-name", DEFAULT_DEMO_NAME) |
| 47 | + *("--demo-name", DEFAULT_DEMO_NAME), |
43 | 48 | ) |
44 | 49 |
|
45 | 50 |
|
46 | 51 | @nox.session(name="generate-demo-project", python=python_versions[-1]) |
47 | 52 | def generate_demo_project(session: Session) -> None: |
48 | 53 | session.install("cookiecutter", "platformdirs", "loguru") |
49 | | - session.run("python", "tools/generate-demo-project.py", *GENERATE_DEMO_PROJECT_OPTIONS, external=True) |
| 54 | + session.run( |
| 55 | + "python", |
| 56 | + "tools/generate-demo-project.py", |
| 57 | + *GENERATE_DEMO_PROJECT_OPTIONS, |
| 58 | + external=True, |
| 59 | + ) |
50 | 60 |
|
51 | 61 |
|
52 | 62 | @nox.session(name="sync-poetry-with-demo", python=python_versions[-1]) |
53 | 63 | def sync_poetry_with_demo(session: Session) -> None: |
54 | 64 | session.install("cookiecutter", "platformdirs", "loguru") |
55 | | - session.run("python", "tools/sync-poetry-with-demo.py", *SYNC_POETRY_WITH_DEMO_OPTIONS, external=True) |
| 65 | + session.run( |
| 66 | + "python", |
| 67 | + "tools/sync-poetry-with-demo.py", |
| 68 | + *SYNC_POETRY_WITH_DEMO_OPTIONS, |
| 69 | + external=True, |
| 70 | + ) |
56 | 71 |
|
57 | 72 |
|
58 | 73 | @nox.session(name="poetry-in-demo", python=python_versions[-1]) |
59 | 74 | def poetry_in_demo(session: Session) -> None: |
60 | 75 | session.install("cookiecutter", "platformdirs", "loguru") |
61 | | - session.run("python", "tools/generate-demo-project.py", *GENERATE_DEMO_PROJECT_OPTIONS, external=True) |
| 76 | + session.run( |
| 77 | + "python", |
| 78 | + "tools/generate-demo-project.py", |
| 79 | + *GENERATE_DEMO_PROJECT_OPTIONS, |
| 80 | + external=True, |
| 81 | + ) |
62 | 82 | original_dir: Path = Path.cwd() |
63 | 83 | session.cd(DEMO_ROOT_FOLDER) |
64 | 84 | session.run("poetry", *session.posargs) |
65 | 85 | session.cd(original_dir) |
66 | | - session.run("python", "tools/sync-poetry-with-demo.py", *SYNC_POETRY_WITH_DEMO_OPTIONS, external=True) |
| 86 | + session.run( |
| 87 | + "python", |
| 88 | + "tools/sync-poetry-with-demo.py", |
| 89 | + *SYNC_POETRY_WITH_DEMO_OPTIONS, |
| 90 | + external=True, |
| 91 | + ) |
67 | 92 |
|
68 | 93 |
|
69 | 94 | @nox.session(name="poetry-lock") |
@@ -128,7 +153,14 @@ def docs(session: Session) -> None: |
128 | 153 | @nox.session |
129 | 154 | def linkcheck(session: Session) -> None: |
130 | 155 | """Build the documentation.""" |
131 | | - args = session.posargs or ["-b", "linkcheck", "-W", "--keep-going", "docs", "docs/_build"] |
| 156 | + args = session.posargs or [ |
| 157 | + "-b", |
| 158 | + "linkcheck", |
| 159 | + "-W", |
| 160 | + "--keep-going", |
| 161 | + "docs", |
| 162 | + "docs/_build", |
| 163 | + ] |
132 | 164 |
|
133 | 165 | builddir = Path("docs", "_build") |
134 | 166 | if builddir.exists(): |
|
0 commit comments