from __future__ import annotations from typing import TYPE_CHECKING, override from .Cmd import Cmd, Parent from .lib.base import Attrs if TYPE_CHECKING: from argparse import ArgumentParser, Namespace class CmdCompileTemplates(Cmd): # export def __init__(self, parent: Parent) -> None: super().__init__( parent, 'compile-templates', help = 'Compile package template files' ) @override async def _run(self, args: Namespace) -> None: attrs = Attrs(args.mode, args.owner, args.group, None) await self._compile_template_files(args.packages, attrs) @override def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) parser.add_argument( '--owner', '-o', default = None, help = 'Default output file owner' ) parser.add_argument( '--group', '-g', default = None, help = 'Default output file group' ) parser.add_argument( '--mode', '-m', default = None, help = 'Default output file mode' )