• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2017 The Abseil Authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15from absl.flags import _argument_parser
16from absl.flags import _defines
17from absl.flags import _exceptions
18from absl.flags import _flag
19from absl.flags import _flagvalues
20from absl.flags import _helpers
21from absl.flags import _validators
22
23# DEFINE functions. They are explained in more details in the module doc string.
24# pylint: disable=invalid-name
25DEFINE = _defines.DEFINE
26DEFINE_flag = _defines.DEFINE_flag
27DEFINE_string = _defines.DEFINE_string
28DEFINE_boolean = _defines.DEFINE_boolean
29DEFINE_bool = DEFINE_boolean  # Match C++ API.
30DEFINE_float = _defines.DEFINE_float
31DEFINE_integer = _defines.DEFINE_integer
32DEFINE_enum = _defines.DEFINE_enum
33DEFINE_enum_class = _defines.DEFINE_enum_class
34DEFINE_list = _defines.DEFINE_list
35DEFINE_spaceseplist = _defines.DEFINE_spaceseplist
36DEFINE_multi = _defines.DEFINE_multi
37DEFINE_multi_string = _defines.DEFINE_multi_string
38DEFINE_multi_integer = _defines.DEFINE_multi_integer
39DEFINE_multi_float = _defines.DEFINE_multi_float
40DEFINE_multi_enum = _defines.DEFINE_multi_enum
41DEFINE_multi_enum_class = _defines.DEFINE_multi_enum_class
42DEFINE_alias = _defines.DEFINE_alias
43# pylint: enable=invalid-name
44
45# Flag validators.
46register_validator = _validators.register_validator
47validator = _validators.validator
48register_multi_flags_validator = _validators.register_multi_flags_validator
49multi_flags_validator = _validators.multi_flags_validator
50mark_flag_as_required = _validators.mark_flag_as_required
51mark_flags_as_required = _validators.mark_flags_as_required
52mark_flags_as_mutual_exclusive = _validators.mark_flags_as_mutual_exclusive
53mark_bool_flags_as_mutual_exclusive = _validators.mark_bool_flags_as_mutual_exclusive
54
55# Flag modifiers.
56set_default = _defines.set_default
57
58# Key flag related functions.
59declare_key_flag = _defines.declare_key_flag
60adopt_module_key_flags = _defines.adopt_module_key_flags
61disclaim_key_flags = _defines.disclaim_key_flags
62
63# Module exceptions.
64# pylint: disable=invalid-name
65Error = _exceptions.Error
66CantOpenFlagFileError = _exceptions.CantOpenFlagFileError
67DuplicateFlagError = _exceptions.DuplicateFlagError
68IllegalFlagValueError = _exceptions.IllegalFlagValueError
69UnrecognizedFlagError = _exceptions.UnrecognizedFlagError
70UnparsedFlagAccessError = _exceptions.UnparsedFlagAccessError
71ValidationError = _exceptions.ValidationError
72FlagNameConflictsWithMethodError = _exceptions.FlagNameConflictsWithMethodError
73
74# Public classes.
75Flag = _flag.Flag
76BooleanFlag = _flag.BooleanFlag
77EnumFlag = _flag.EnumFlag
78EnumClassFlag = _flag.EnumClassFlag
79MultiFlag = _flag.MultiFlag
80MultiEnumClassFlag = _flag.MultiEnumClassFlag
81FlagHolder = _flagvalues.FlagHolder
82FlagValues = _flagvalues.FlagValues
83ArgumentParser = _argument_parser.ArgumentParser
84BooleanParser = _argument_parser.BooleanParser
85EnumParser = _argument_parser.EnumParser
86EnumClassParser = _argument_parser.EnumClassParser
87ArgumentSerializer = _argument_parser.ArgumentSerializer
88FloatParser = _argument_parser.FloatParser
89IntegerParser = _argument_parser.IntegerParser
90BaseListParser = _argument_parser.BaseListParser
91ListParser = _argument_parser.ListParser
92ListSerializer = _argument_parser.ListSerializer
93CsvListSerializer = _argument_parser.CsvListSerializer
94WhitespaceSeparatedListParser = _argument_parser.WhitespaceSeparatedListParser
95EnumClassSerializer = _argument_parser.EnumClassSerializer
96# pylint: enable=invalid-name
97
98# Helper functions.
99get_help_width = _helpers.get_help_width
100text_wrap = _helpers.text_wrap
101flag_dict_to_args = _helpers.flag_dict_to_args
102doc_to_help = _helpers.doc_to_help
103
104# The global FlagValues instance.
105FLAGS = _flagvalues.FLAGS
106
107