Initial upload: aesthetic-immich-starter
This commit is contained in:
@@ -0,0 +1,220 @@
|
||||
# Copyright 2017 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.
|
||||
"""This package is used to define and parse command line flags.
|
||||
|
||||
This package defines a *distributed* flag-definition policy: rather than
|
||||
an application having to define all flags in or near main(), each Python
|
||||
module defines flags that are useful to it. When one Python module
|
||||
imports another, it gains access to the other's flags. (This is
|
||||
implemented by having all modules share a common, global registry object
|
||||
containing all the flag information.)
|
||||
|
||||
Flags are defined through the use of one of the DEFINE_xxx functions.
|
||||
The specific function used determines how the flag is parsed, checked,
|
||||
and optionally type-converted, when it's seen on the command line.
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
from absl.flags import _argument_parser
|
||||
from absl.flags import _defines
|
||||
from absl.flags import _exceptions
|
||||
from absl.flags import _flag
|
||||
from absl.flags import _flagvalues
|
||||
from absl.flags import _helpers
|
||||
from absl.flags import _validators
|
||||
|
||||
__all__ = (
|
||||
'DEFINE',
|
||||
'DEFINE_flag',
|
||||
'DEFINE_string',
|
||||
'DEFINE_boolean',
|
||||
'DEFINE_bool',
|
||||
'DEFINE_float',
|
||||
'DEFINE_integer',
|
||||
'DEFINE_enum',
|
||||
'DEFINE_enum_class',
|
||||
'DEFINE_list',
|
||||
'DEFINE_spaceseplist',
|
||||
'DEFINE_multi',
|
||||
'DEFINE_multi_string',
|
||||
'DEFINE_multi_integer',
|
||||
'DEFINE_multi_float',
|
||||
'DEFINE_multi_enum',
|
||||
'DEFINE_multi_enum_class',
|
||||
'DEFINE_alias',
|
||||
# Flag validators.
|
||||
'register_validator',
|
||||
'validator',
|
||||
'register_multi_flags_validator',
|
||||
'multi_flags_validator',
|
||||
'mark_flag_as_required',
|
||||
'mark_flags_as_required',
|
||||
'mark_flags_as_mutual_exclusive',
|
||||
'mark_bool_flags_as_mutual_exclusive',
|
||||
# Flag modifiers.
|
||||
'set_default',
|
||||
'override_value',
|
||||
# Key flag related functions.
|
||||
'declare_key_flag',
|
||||
'adopt_module_key_flags',
|
||||
'disclaim_key_flags',
|
||||
# Module exceptions.
|
||||
'Error',
|
||||
'CantOpenFlagFileError',
|
||||
'DuplicateFlagError',
|
||||
'IllegalFlagValueError',
|
||||
'UnrecognizedFlagError',
|
||||
'UnparsedFlagAccessError',
|
||||
'ValidationError',
|
||||
'FlagNameConflictsWithMethodError',
|
||||
# Public classes.
|
||||
'Flag',
|
||||
'BooleanFlag',
|
||||
'EnumFlag',
|
||||
'EnumClassFlag',
|
||||
'MultiFlag',
|
||||
'MultiEnumClassFlag',
|
||||
'FlagHolder',
|
||||
'FlagValues',
|
||||
'ArgumentParser',
|
||||
'BooleanParser',
|
||||
'EnumParser',
|
||||
'EnumClassParser',
|
||||
'ArgumentSerializer',
|
||||
'FloatParser',
|
||||
'IntegerParser',
|
||||
'BaseListParser',
|
||||
'ListParser',
|
||||
'ListSerializer',
|
||||
'EnumClassListSerializer',
|
||||
'CsvListSerializer',
|
||||
'WhitespaceSeparatedListParser',
|
||||
'EnumClassSerializer',
|
||||
# Helper functions.
|
||||
'get_help_width',
|
||||
'text_wrap',
|
||||
'flag_dict_to_args',
|
||||
'doc_to_help',
|
||||
# The global FlagValues instance.
|
||||
'FLAGS',
|
||||
)
|
||||
|
||||
# Initialize the FLAGS_MODULE as early as possible.
|
||||
# It's only used by adopt_module_key_flags to take SPECIAL_FLAGS into account.
|
||||
_helpers.FLAGS_MODULE = sys.modules[__name__]
|
||||
|
||||
# Add current module to disclaimed module ids.
|
||||
_helpers.disclaim_module_ids.add(id(sys.modules[__name__]))
|
||||
|
||||
# DEFINE functions. They are explained in more details in the module doc string.
|
||||
# pylint: disable=invalid-name
|
||||
DEFINE = _defines.DEFINE
|
||||
DEFINE_flag = _defines.DEFINE_flag
|
||||
DEFINE_string = _defines.DEFINE_string
|
||||
DEFINE_boolean = _defines.DEFINE_boolean
|
||||
DEFINE_bool = DEFINE_boolean # Match C++ API.
|
||||
DEFINE_float = _defines.DEFINE_float
|
||||
DEFINE_integer = _defines.DEFINE_integer
|
||||
DEFINE_enum = _defines.DEFINE_enum
|
||||
DEFINE_enum_class = _defines.DEFINE_enum_class
|
||||
DEFINE_list = _defines.DEFINE_list
|
||||
DEFINE_spaceseplist = _defines.DEFINE_spaceseplist
|
||||
DEFINE_multi = _defines.DEFINE_multi
|
||||
DEFINE_multi_string = _defines.DEFINE_multi_string
|
||||
DEFINE_multi_integer = _defines.DEFINE_multi_integer
|
||||
DEFINE_multi_float = _defines.DEFINE_multi_float
|
||||
DEFINE_multi_enum = _defines.DEFINE_multi_enum
|
||||
DEFINE_multi_enum_class = _defines.DEFINE_multi_enum_class
|
||||
DEFINE_alias = _defines.DEFINE_alias
|
||||
# pylint: enable=invalid-name
|
||||
|
||||
# Flag validators.
|
||||
register_validator = _validators.register_validator
|
||||
validator = _validators.validator
|
||||
register_multi_flags_validator = _validators.register_multi_flags_validator
|
||||
multi_flags_validator = _validators.multi_flags_validator
|
||||
mark_flag_as_required = _validators.mark_flag_as_required
|
||||
mark_flags_as_required = _validators.mark_flags_as_required
|
||||
mark_flags_as_mutual_exclusive = _validators.mark_flags_as_mutual_exclusive
|
||||
mark_bool_flags_as_mutual_exclusive = _validators.mark_bool_flags_as_mutual_exclusive
|
||||
|
||||
# Flag modifiers.
|
||||
set_default = _defines.set_default
|
||||
override_value = _defines.override_value
|
||||
|
||||
# Key flag related functions.
|
||||
declare_key_flag = _defines.declare_key_flag
|
||||
adopt_module_key_flags = _defines.adopt_module_key_flags
|
||||
disclaim_key_flags = _defines.disclaim_key_flags
|
||||
|
||||
# Module exceptions.
|
||||
# pylint: disable=invalid-name
|
||||
Error = _exceptions.Error
|
||||
CantOpenFlagFileError = _exceptions.CantOpenFlagFileError
|
||||
DuplicateFlagError = _exceptions.DuplicateFlagError
|
||||
IllegalFlagValueError = _exceptions.IllegalFlagValueError
|
||||
UnrecognizedFlagError = _exceptions.UnrecognizedFlagError
|
||||
UnparsedFlagAccessError = _exceptions.UnparsedFlagAccessError
|
||||
ValidationError = _exceptions.ValidationError
|
||||
FlagNameConflictsWithMethodError = _exceptions.FlagNameConflictsWithMethodError
|
||||
|
||||
# Public classes.
|
||||
Flag = _flag.Flag
|
||||
BooleanFlag = _flag.BooleanFlag
|
||||
EnumFlag = _flag.EnumFlag
|
||||
EnumClassFlag = _flag.EnumClassFlag
|
||||
MultiFlag = _flag.MultiFlag
|
||||
MultiEnumClassFlag = _flag.MultiEnumClassFlag
|
||||
FlagHolder = _flagvalues.FlagHolder
|
||||
FlagValues = _flagvalues.FlagValues
|
||||
ArgumentParser = _argument_parser.ArgumentParser
|
||||
BooleanParser = _argument_parser.BooleanParser
|
||||
EnumParser = _argument_parser.EnumParser
|
||||
EnumClassParser = _argument_parser.EnumClassParser
|
||||
ArgumentSerializer = _argument_parser.ArgumentSerializer
|
||||
FloatParser = _argument_parser.FloatParser
|
||||
IntegerParser = _argument_parser.IntegerParser
|
||||
BaseListParser = _argument_parser.BaseListParser
|
||||
ListParser = _argument_parser.ListParser
|
||||
ListSerializer = _argument_parser.ListSerializer
|
||||
EnumClassListSerializer = _argument_parser.EnumClassListSerializer
|
||||
CsvListSerializer = _argument_parser.CsvListSerializer
|
||||
WhitespaceSeparatedListParser = _argument_parser.WhitespaceSeparatedListParser
|
||||
EnumClassSerializer = _argument_parser.EnumClassSerializer
|
||||
# pylint: enable=invalid-name
|
||||
|
||||
# Helper functions.
|
||||
get_help_width = _helpers.get_help_width
|
||||
text_wrap = _helpers.text_wrap
|
||||
flag_dict_to_args = _helpers.flag_dict_to_args
|
||||
doc_to_help = _helpers.doc_to_help
|
||||
|
||||
# Special flags.
|
||||
_helpers.SPECIAL_FLAGS = FlagValues()
|
||||
|
||||
DEFINE_string(
|
||||
'flagfile', '',
|
||||
'Insert flag definitions from the given file into the command line.',
|
||||
_helpers.SPECIAL_FLAGS) # pytype: disable=wrong-arg-types
|
||||
|
||||
DEFINE_string('undefok', '',
|
||||
'comma-separated list of flag names that it is okay to specify '
|
||||
'on the command line even if the program does not define a flag '
|
||||
'with that name. IMPORTANT: flags in this list that have '
|
||||
'arguments MUST use the --flag=value format.',
|
||||
_helpers.SPECIAL_FLAGS) # pytype: disable=wrong-arg-types
|
||||
|
||||
#: The global FlagValues instance.
|
||||
FLAGS = _flagvalues.FLAGS
|
||||
Reference in New Issue
Block a user