1from abc import abstractmethod 2from distutils.dist import Distribution 3from typing import Any, Callable, Iterable, List, Optional, Tuple, Union 4 5class Command: 6 sub_commands: List[Tuple[str, Optional[Callable[[Command], bool]]]] 7 def __init__(self, dist: Distribution) -> None: ... 8 @abstractmethod 9 def initialize_options(self) -> None: ... 10 @abstractmethod 11 def finalize_options(self) -> None: ... 12 @abstractmethod 13 def run(self) -> None: ... 14 def announce(self, msg: str, level: int = ...) -> None: ... 15 def debug_print(self, msg: str) -> None: ... 16 def ensure_string(self, option: str, default: Optional[str] = ...) -> None: ... 17 def ensure_string_list(self, option: Union[str, List[str]]) -> None: ... 18 def ensure_filename(self, option: str) -> None: ... 19 def ensure_dirname(self, option: str) -> None: ... 20 def get_command_name(self) -> str: ... 21 def set_undefined_options(self, src_cmd: str, *option_pairs: Tuple[str, str]) -> None: ... 22 def get_finalized_command(self, command: str, create: int = ...) -> Command: ... 23 def reinitialize_command(self, command: Union[Command, str], reinit_subcommands: int = ...) -> Command: ... 24 def run_command(self, command: str) -> None: ... 25 def get_sub_commands(self) -> List[str]: ... 26 def warn(self, msg: str) -> None: ... 27 def execute(self, func: Callable[..., Any], args: Iterable[Any], msg: Optional[str] = ..., level: int = ...) -> None: ... 28 def mkpath(self, name: str, mode: int = ...) -> None: ... 29 def copy_file( 30 self, 31 infile: str, 32 outfile: str, 33 preserve_mode: int = ..., 34 preserve_times: int = ..., 35 link: Optional[str] = ..., 36 level: Any = ..., 37 ) -> Tuple[str, bool]: ... # level is not used 38 def copy_tree( 39 self, 40 infile: str, 41 outfile: str, 42 preserve_mode: int = ..., 43 preserve_times: int = ..., 44 preserve_symlinks: int = ..., 45 level: Any = ..., 46 ) -> List[str]: ... # level is not used 47 def move_file(self, src: str, dst: str, level: Any = ...) -> str: ... # level is not used 48 def spawn(self, cmd: Iterable[str], search_path: int = ..., level: Any = ...) -> None: ... # level is not used 49 def make_archive( 50 self, 51 base_name: str, 52 format: str, 53 root_dir: Optional[str] = ..., 54 base_dir: Optional[str] = ..., 55 owner: Optional[str] = ..., 56 group: Optional[str] = ..., 57 ) -> str: ... 58 def make_file( 59 self, 60 infiles: Union[str, List[str], Tuple[str]], 61 outfile: str, 62 func: Callable[..., Any], 63 args: List[Any], 64 exec_msg: Optional[str] = ..., 65 skip_msg: Optional[str] = ..., 66 level: Any = ..., 67 ) -> None: ... # level is not used 68