| # Copyright 2020 The Abseil Authors. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| """Defines type annotations for _flagvalues.""" |
| |
| |
| from absl.flags import _flag |
| |
| from typing import Any, Dict, Generic, Iterable, Iterator, List, Optional, Sequence, Text, Type, TypeVar |
| |
| |
| class FlagValues: |
| |
| def __getitem__(self, name: Text) -> _flag.Flag: ... |
| |
| def __setitem__(self, name: Text, flag: _flag.Flag) -> None: ... |
| |
| def __getattr__(self, name: Text) -> Any: ... |
| |
| def __setattr__(self, name: Text, value: Any) -> Any: ... |
| |
| def __call__( |
| self, |
| argv: Sequence[Text], |
| known_only: bool = ..., |
| ) -> List[Text]: ... |
| |
| def __contains__(self, name: Text) -> bool: ... |
| |
| def __copy__(self) -> Any: ... |
| |
| def __deepcopy__(self, memo) -> Any: ... |
| |
| def __delattr__(self, flag_name: Text) -> None: ... |
| |
| def __dir__(self) -> List[Text]: ... |
| |
| def __getstate__(self) -> Any: ... |
| |
| def __iter__(self) -> Iterator[Text]: ... |
| |
| def __len__(self) -> int: ... |
| |
| def get_help(self, |
| prefix: Text = ..., |
| include_special_flags: bool = ...) -> Text: |
| ... |
| |
| |
| def set_gnu_getopt(self, gnu_getopt: bool = ...) -> None: ... |
| |
| def is_gnu_getopt(self) -> bool: ... |
| |
| def flags_by_module_dict(self) -> Dict[Text, List[_flag.Flag]]: ... |
| |
| def flags_by_module_id_dict(self) -> Dict[Text, List[_flag.Flag]]: ... |
| |
| def key_flags_by_module_dict(self) -> Dict[Text, List[_flag.Flag]]: ... |
| |
| def register_flag_by_module( |
| self, module_name: Text, flag: _flag.Flag) -> None: ... |
| |
| def register_flag_by_module_id( |
| self, module_id: Text, flag: _flag.Flag) -> None: ... |
| |
| def register_key_flag_for_module( |
| self, module_name: Text, flag: _flag.Flag) -> None: ... |
| |
| def get_key_flags_for_module(self, module: Any) -> List[_flag.Flag]: ... |
| |
| def find_module_defining_flag( |
| self, flagname: Text, default: Any = ...) -> Any: |
| ... |
| |
| def find_module_id_defining_flag( |
| self, flagname: Text, default: Any = ...) -> Any: |
| ... |
| |
| def append_flag_values(self, flag_values: Any) -> None: ... |
| |
| def remove_flag_values(self, flag_values: Any) -> None: ... |
| |
| def validate_all_flags(self) -> None: ... |
| |
| def set_default(self, name: Text, value: Any) -> None: ... |
| |
| def is_parsed(self) -> bool: ... |
| |
| def mark_as_parsed(self) -> None: ... |
| |
| def unparse_flags(self) -> None: ... |
| |
| def flag_values_dict(self) -> Dict[Text, Any]: ... |
| |
| def module_help(self, module: Any) -> Text: ... |
| |
| def main_module_help(self) -> Text: ... |
| |
| def get_flag_value(self, name: Text, default: Any) -> Any: ... |
| |
| def read_flags_from_files( |
| self, argv: List[Text], force_gnu: bool = ...) -> List[Text]: ... |
| |
| def flags_into_string(self) -> Text: ... |
| |
| def append_flags_into_file(self, filename: Text) -> None:... |
| |
| # outfile is Optional[fileobject] |
| def write_help_in_xml_format(self, outfile: Any = ...) -> None: ... |
| |
| |
| FLAGS = ... # type: FlagValues |
| |
| |
| _T = TypeVar('_T') # The type of parsed default value of the flag. |
| |
| # We assume that default and value are guaranteed to have the same type. |
| class FlagHolder(Generic[_T]): |
| def __init__( |
| self, |
| flag_values: FlagValues, |
| # NOTE: Use Flag instead of Flag[T] is used to work around some superficial |
| # differences between Flag and FlagHolder typing. |
| flag: _flag.Flag, |
| ensure_non_none_value: bool=False) -> None: ... |
| |
| @property |
| def name(self) -> Text: ... |
| |
| @property |
| def value(self) -> _T: ... |
| |
| @property |
| def default(self) -> _T: ... |
| |
| @property |
| def present(self) -> bool: ... |