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

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""" 

26 

27import sys 

28from pathlib import Path 

29 

30try: 

31 from typing import Annotated 

32except ImportError: # pragma: no cover 

33 from typing_extensions import Annotated 

34 

35import typer 

36 

37from .base import wutta_typer 

38 

39 

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 

54 

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")