Example #1
0
def DEFINE_multi_string(name,
                        default,
                        help=None,
                        flag_values=_flagvalues.FLAGS,
                        **args):
    """Registers a flag whose value can be a list of any strings.

    Use the flag on the command line multiple times to place multiple
    string values into the list.  The 'default' may be a single string
    (which will be converted into a single-element list) or a list of
    strings.


    Args:
      name: str, the flag name.
      default: Union[Iterable[Text], Text, None], the default value of the flag;
          see `DEFINE_multi`.
      help: str, the help message.
      flag_values: FlagValues, the FlagValues instance with which the flag will
          be registered. This should almost never need to be overridden.
      **args: Dictionary with extra keyword args that are passed to the
          Flag __init__.
    """
    parser = _argument_parser.ArgumentParser()
    serializer = _argument_parser.ArgumentSerializer()
    DEFINE_multi(parser, serializer, name, default, help, flag_values, **args)
Example #2
0
def DEFINE_string(name,
                  default,
                  help=None,
                  flag_values=_flagvalues.FLAGS,
                  **args):
    """Registers a flag whose value can be any string."""
    parser = _argument_parser.ArgumentParser()
    serializer = _argument_parser.ArgumentSerializer()
    DEFINE(parser, name, default, help, flag_values, serializer, **args)
Example #3
0
    def test_parse_wrong_type(self):
        parser = _argument_parser.ArgumentParser()
        with self.assertRaises(TypeError):
            parser.parse(0)

        if bytes is not str:
            # In PY3, it does not accept bytes.
            with self.assertRaises(TypeError):
                parser.parse(b'')
Example #4
0
def DEFINE_string(  # pylint: disable=invalid-name,redefined-builtin
        name,
        default,
        help,
        flag_values=_flagvalues.FLAGS,
        **args):
    """Registers a flag whose value can be any string."""
    parser = _argument_parser.ArgumentParser()
    serializer = _argument_parser.ArgumentSerializer()
    DEFINE(parser, name, default, help, flag_values, serializer, **args)
Example #5
0
    def test_default_unparsed(self):
        flag = _flag.Flag(_argument_parser.ArgumentParser(),
                          _argument_parser.ArgumentSerializer(), 'fruit',
                          'apple', 'help')
        self.assertEqual('apple', flag.default_unparsed)

        flag = _flag.Flag(_argument_parser.IntegerParser(),
                          _argument_parser.ArgumentSerializer(), 'number', '1',
                          'help')
        self.assertEqual('1', flag.default_unparsed)

        flag = _flag.Flag(_argument_parser.IntegerParser(),
                          _argument_parser.ArgumentSerializer(), 'number', 1,
                          'help')
        self.assertEqual(1, flag.default_unparsed)
def DEFINE_multi_string(  # pylint: disable=invalid-name,redefined-builtin
        name,
        default,
        help,
        flag_values=_flagvalues.FLAGS,
        required=False,
        **args):
    """Registers a flag whose value can be a list of any strings.

  Use the flag on the command line multiple times to place multiple
  string values into the list.  The 'default' may be a single string
  (which will be converted into a single-element list) or a list of
  strings.


  Args:
    name: str, the flag name.
    default: Union[Iterable[Text], Text, None], the default value of the flag;
      see `DEFINE_multi`.
    help: str, the help message.
    flag_values: FlagValues, the FlagValues instance with which the flag will be
      registered. This should almost never need to be overridden.
    required: bool, is this a required flag. This must be used as a keyword
      argument.
    **args: Dictionary with extra keyword args that are passed to the Flag
      __init__.

  Returns:
    a handle to defined flag.
  """
    parser = _argument_parser.ArgumentParser()
    serializer = _argument_parser.ArgumentSerializer()
    return DEFINE_multi(parser,
                        serializer,
                        name,
                        default,
                        help,
                        flag_values,
                        required=required,
                        **args)
 def setUp(self):
   self.flag = _flag.Flag(
       _argument_parser.ArgumentParser(),
       _argument_parser.ArgumentSerializer(),
       'fruit', 'apple', 'help')