29 lines
695 B
Python
29 lines
695 B
Python
from collections import Callable
|
|
|
|
from cpl_cli.command_abc import CommandABC
|
|
|
|
|
|
class CommandModel:
|
|
|
|
def __init__(self, name: str, aliases: list[str], command: Callable[CommandABC], is_project_needed: bool):
|
|
self._name = name
|
|
self._aliases = aliases
|
|
self._command = command
|
|
self._is_project_needed = is_project_needed
|
|
|
|
@property
|
|
def name(self) -> str:
|
|
return self._name
|
|
|
|
@property
|
|
def aliases(self) -> list[str]:
|
|
return self._aliases
|
|
|
|
@property
|
|
def command(self) -> Callable[CommandABC]:
|
|
return self._command
|
|
|
|
@property
|
|
def is_project_needed(self) -> bool:
|
|
return self._is_project_needed
|