1from types import ModuleType 2from typing import IO, Any, Callable, Dict, Iterable, List, Optional, Sequence, Text, Union 3 4class Error(Exception): ... 5 6FlagsError = Error 7 8class DuplicateFlag(FlagsError): ... 9class CantOpenFlagFileError(FlagsError): ... 10class DuplicateFlagCannotPropagateNoneToSwig(DuplicateFlag): ... 11 12class DuplicateFlagError(DuplicateFlag): 13 def __init__(self, flagname: str, flag_values: FlagValues, other_flag_values: FlagValues = ...) -> None: ... 14 15class IllegalFlagValueError(FlagsError): ... 16 17IllegalFlagValue = IllegalFlagValueError 18 19class UnrecognizedFlag(FlagsError): ... 20 21class UnrecognizedFlagError(UnrecognizedFlag): 22 def __init__(self, flagname: str, flagvalue: str = ...) -> None: ... 23 24def get_help_width() -> int: ... 25 26GetHelpWidth = get_help_width 27 28def text_wrap(text: str, length: int = ..., indent: str = ..., firstline_indent: str = ..., tabs: str = ...) -> str: ... 29 30TextWrap = text_wrap 31 32def doc_to_help(doc: str) -> str: ... 33 34DocToHelp = doc_to_help 35 36class FlagValues: 37 def __init__(self) -> None: ... 38 def UseGnuGetOpt(self, use_gnu_getopt: bool = ...) -> None: ... 39 def is_gnu_getopt(self) -> bool: ... 40 IsGnuGetOpt = is_gnu_getopt 41 # TODO dict type 42 def FlagDict(self) -> Dict[Any, Any]: ... 43 def flags_by_module_dict(self) -> Dict[str, List[Flag]]: ... 44 FlagsByModuleDict = flags_by_module_dict 45 def flags_by_module_id_dict(self) -> Dict[int, List[Flag]]: ... 46 FlagsByModuleIdDict = flags_by_module_id_dict 47 def key_flags_by_module_dict(self) -> Dict[str, List[Flag]]: ... 48 KeyFlagsByModuleDict = key_flags_by_module_dict 49 def find_module_defining_flag(self, flagname: str, default: str = ...) -> str: ... 50 FindModuleDefiningFlag = find_module_defining_flag 51 def find_module_id_defining_flag(self, flagname: str, default: int = ...) -> int: ... 52 FindModuleIdDefiningFlag = find_module_id_defining_flag 53 def append_flag_values(self, flag_values: FlagValues) -> None: ... 54 AppendFlagValues = append_flag_values 55 def remove_flag_values(self, flag_values: FlagValues) -> None: ... 56 RemoveFlagValues = remove_flag_values 57 def __setitem__(self, name: str, flag: Flag) -> None: ... 58 def __getitem__(self, name: str) -> Flag: ... 59 def __getattr__(self, name: str) -> Any: ... 60 def __setattr__(self, name: str, value: Any) -> None: ... 61 def __delattr__(self, flag_name: str) -> None: ... 62 def set_default(self, name: str, value: Any) -> None: ... 63 SetDefault = set_default 64 def __contains__(self, name: str) -> bool: ... 65 has_key = __contains__ 66 def __iter__(self) -> Iterable[str]: ... 67 def __call__(self, argv: List[str], known_only: bool = ...) -> List[str]: ... 68 def reset(self) -> None: ... 69 Reset = reset 70 def RegisteredFlags(self) -> List[str]: ... 71 def flag_values_dict(self) -> Dict[str, Any]: ... 72 FlagValuesDict = flag_values_dict 73 def __str__(self) -> str: ... 74 def GetHelp(self, prefix: str = ...) -> str: ... 75 def module_help(self, module: Union[ModuleType, str]) -> str: ... 76 ModuleHelp = module_help 77 def main_module_help(self) -> str: ... 78 MainModuleHelp = main_module_help 79 def get(self, name: str, default: Any) -> Any: ... 80 def ShortestUniquePrefixes(self, fl: Dict[str, Flag]) -> Dict[str, str]: ... 81 def ExtractFilename(self, flagfile_str: str) -> str: ... 82 def read_flags_from_files(self, argv: List[str], force_gnu: bool = ...) -> List[str]: ... 83 ReadFlagsFromFiles = read_flags_from_files 84 def flags_into_string(self) -> str: ... 85 FlagsIntoString = flags_into_string 86 def append_flags_into_file(self, filename: str) -> None: ... 87 AppendFlagsIntoFile = append_flags_into_file 88 def write_help_in_xml_format(self, outfile: IO[str] = ...) -> None: ... 89 WriteHelpInXMLFormat = write_help_in_xml_format 90 # TODO validator: gflags_validators.Validator 91 def AddValidator(self, validator: Any) -> None: ... 92 def is_parsed(self) -> bool: ... 93 IsParsed = is_parsed 94 95FLAGS: FlagValues 96 97class Flag: 98 name: str 99 default: Any 100 default_as_str: str 101 value: Any 102 help: str 103 short_name: str 104 boolean = False 105 present = False 106 parser: ArgumentParser 107 serializer: ArgumentSerializer 108 allow_override = False 109 def __init__( 110 self, 111 parser: ArgumentParser, 112 serializer: ArgumentSerializer, 113 name: str, 114 default: Optional[str], 115 help_string: str, 116 short_name: str = ..., 117 boolean: bool = ..., 118 allow_override: bool = ..., 119 ) -> None: ... 120 def Parse(self, argument: Any) -> Any: ... 121 def Unparse(self) -> None: ... 122 def Serialize(self) -> str: ... 123 def SetDefault(self, value: Any) -> None: ... 124 def Type(self) -> str: ... 125 def WriteInfoInXMLFormat(self, outfile: IO[str], module_name: str, is_key: bool = ..., indent: str = ...) -> None: ... 126 127class ArgumentParser(object): 128 syntactic_help: str 129 # TODO what is this 130 def parse(self, argument: Any) -> Any: ... 131 Parser = parse 132 def flag_type(self) -> str: ... 133 Type = flag_type 134 def WriteCustomInfoInXMLFormat(self, outfile: IO[str], indent: str) -> None: ... 135 136class ArgumentSerializer: 137 def Serialize(self, value: Any) -> Text: ... 138 139class ListSerializer(ArgumentSerializer): 140 def __init__(self, list_sep: str) -> None: ... 141 def Serialize(self, value: List[Any]) -> str: ... 142 143def register_validator( 144 flag_name: str, checker: Callable[[Any], bool], message: str = ..., flag_values: FlagValues = ... 145) -> None: ... 146 147RegisterValidator = register_validator 148 149def mark_flag_as_required(flag_name: str, flag_values: FlagValues = ...) -> None: ... 150 151MarkFlagAsRequired = mark_flag_as_required 152 153def mark_flags_as_required(flag_names: Iterable[str], flag_values: FlagValues = ...) -> None: ... 154 155MarkFlagsAsRequired = mark_flags_as_required 156 157def mark_flags_as_mutual_exclusive(flag_names: Iterable[str], required: bool = ..., flag_values: FlagValues = ...) -> None: ... 158 159MarkFlagsAsMutualExclusive = mark_flags_as_mutual_exclusive 160 161def DEFINE( 162 parser: ArgumentParser, 163 name: str, 164 default: Any, 165 help: str, 166 flag_values: FlagValues = ..., 167 serializer: ArgumentSerializer = ..., 168 **args: Any, 169) -> None: ... 170def DEFINE_flag(flag: Flag, flag_values: FlagValues = ...) -> None: ... 171def declare_key_flag(flag_name: str, flag_values: FlagValues = ...) -> None: ... 172 173DECLARE_key_flag = declare_key_flag 174 175def adopt_module_key_flags(module: ModuleType, flag_values: FlagValues = ...) -> None: ... 176 177ADOPT_module_key_flags = adopt_module_key_flags 178 179def DEFINE_string(name: str, default: Optional[str], help: str, flag_values: FlagValues = ..., **args: Any) -> None: ... 180 181class BooleanParser(ArgumentParser): 182 def Convert(self, argument: Any) -> bool: ... 183 def Parse(self, argument: Any) -> bool: ... 184 185class BooleanFlag(Flag): 186 def __init__(self, name: str, default: Optional[bool], help: str, short_name: str = ..., **args: Any) -> None: ... 187 188def DEFINE_boolean(name: str, default: Optional[bool], help: str, flag_values: FlagValues = ..., **args: Any) -> None: ... 189 190DEFINE_bool = DEFINE_boolean 191 192class HelpFlag(BooleanFlag): 193 def __init__(self) -> None: ... 194 def Parse(self, arg: Any) -> None: ... 195 196class HelpXMLFlag(BooleanFlag): 197 def __init__(self) -> None: ... 198 def Parse(self, arg: Any) -> None: ... 199 200class HelpshortFlag(BooleanFlag): 201 def __init__(self) -> None: ... 202 def Parse(self, arg: Any) -> None: ... 203 204class NumericParser(ArgumentParser): 205 def IsOutsideBounds(self, val: float) -> bool: ... 206 def Parse(self, argument: Any) -> float: ... 207 def WriteCustomInfoInXMLFormat(self, outfile: IO[str], indent: str) -> None: ... 208 def Convert(self, argument: Any) -> Any: ... 209 210class FloatParser(NumericParser): 211 number_article: str 212 number_name: str 213 syntactic_help: str 214 def __init__(self, lower_bound: float = ..., upper_bound: float = ...) -> None: ... 215 def Convert(self, argument: Any) -> float: ... 216 217def DEFINE_float( 218 name: str, 219 default: Optional[float], 220 help: str, 221 lower_bound: float = ..., 222 upper_bound: float = ..., 223 flag_values: FlagValues = ..., 224 **args: Any, 225) -> None: ... 226 227class IntegerParser(NumericParser): 228 number_article: str 229 number_name: str 230 syntactic_help: str 231 def __init__(self, lower_bound: int = ..., upper_bound: int = ...) -> None: ... 232 def Convert(self, argument: Any) -> int: ... 233 234def DEFINE_integer( 235 name: str, 236 default: Optional[int], 237 help: str, 238 lower_bound: int = ..., 239 upper_bound: int = ..., 240 flag_values: FlagValues = ..., 241 **args: Any, 242) -> None: ... 243 244class EnumParser(ArgumentParser): 245 def __init__(self, enum_values: List[str]) -> None: ... 246 def Parse(self, argument: Any) -> Any: ... 247 248class EnumFlag(Flag): 249 def __init__( 250 self, name: str, default: Optional[str], help: str, enum_values: List[str], short_name: str, **args: Any 251 ) -> None: ... 252 253def DEFINE_enum( 254 name: str, default: Optional[str], enum_values: Iterable[str], help: str, flag_values: FlagValues = ..., **args: Any 255) -> None: ... 256 257class BaseListParser(ArgumentParser): 258 def __init__(self, token: str = ..., name: str = ...) -> None: ... 259 def Parse(self, argument: Any) -> List[Any]: ... 260 261class ListParser(BaseListParser): 262 def __init__(self) -> None: ... 263 264class WhitespaceSeparatedListParser(BaseListParser): 265 def __init__(self) -> None: ... 266 267def DEFINE_list(name: str, default: Optional[List[str]], help: str, flag_values: FlagValues = ..., **args: Any) -> None: ... 268def DEFINE_spaceseplist( 269 name: str, default: Optional[List[str]], help: str, flag_values: FlagValues = ..., **args: Any 270) -> None: ... 271 272class MultiFlag(Flag): 273 def __init__(self, *args: Any, **kwargs: Any) -> None: ... 274 def Parse(self, arguments: Any) -> None: ... 275 def Serialize(self) -> str: ... 276 277def DEFINE_multi_string( 278 name: str, default: Optional[Union[str, List[str]]], help: str, flag_values: FlagValues = ..., **args: Any 279) -> None: ... 280 281DEFINE_multistring = DEFINE_multi_string 282 283def DEFINE_multi_integer( 284 name: str, 285 default: Optional[Union[int, List[int]]], 286 help: str, 287 lower_bound: int = ..., 288 upper_bound: int = ..., 289 flag_values: FlagValues = ..., 290 **args: Any, 291) -> None: ... 292 293DEFINE_multi_int = DEFINE_multi_integer 294 295def DEFINE_multi_float( 296 name: str, 297 default: Optional[Union[float, List[float]]], 298 help: str, 299 lower_bound: float = ..., 300 upper_bound: float = ..., 301 flag_values: FlagValues = ..., 302 **args: Any, 303) -> None: ... 304def DEFINE_multi_enum( 305 name: str, 306 default: Optional[Union[Sequence[str], str]], 307 enum_values: Sequence[str], 308 help: str, 309 flag_values: FlagValues = ..., 310 case_sensitive: bool = ..., 311 **args: Any, 312) -> None: ... 313