Coverage for .tox/coverage/lib/python3.13/site-packages/wuttjamaican/cli/make_appdir.py: 100%
13 statements
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-20 15:04 -0500
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-20 15:04 -0500
1# -*- coding: utf-8; -*-
2################################################################################
3#
4# WuttJamaican -- Base package for Wutta Framework
5# Copyright © 2023-2026 Lance Edgar
6#
7# This file is part of Wutta Framework.
8#
9# Wutta Framework is free software: you can redistribute it and/or modify it
10# under the terms of the GNU General Public License as published by the Free
11# Software Foundation, either version 3 of the License, or (at your option) any
12# later version.
13#
14# Wutta Framework is distributed in the hope that it will be useful, but
15# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
17# more details.
18#
19# You should have received a copy of the GNU General Public License along with
20# Wutta Framework. If not, see <http://www.gnu.org/licenses/>.
21#
22################################################################################
23"""
24See also: :ref:`wutta-make-appdir`
25"""
27import sys
28from pathlib import Path
30try:
31 from typing import Annotated
32except ImportError: # pragma: no cover
33 from typing_extensions import Annotated
35import typer
37from .base import wutta_typer
40@wutta_typer.command()
41def make_appdir(
42 ctx: typer.Context,
43 appdir_path: Annotated[
44 Path,
45 typer.Option(
46 "--path",
47 help="Path to desired app dir; default is (usually) "
48 "`app` in the root of virtual environment.",
49 ),
50 ] = None,
51): # pylint: disable=unused-argument
52 """
53 Make the app dir for virtual environment
55 See also https://docs.wuttaproject.org/wuttjamaican/glossary.html#term-app-dir
56 """
57 config = ctx.parent.wutta_config
58 app = config.get_app()
59 appdir = ctx.params["appdir_path"] or app.get_appdir()
60 app.make_appdir(appdir)
61 sys.stdout.write(f"established appdir: {appdir}\n")