Пример #1
0
 def test_in(self):
     """Test the `in` function works for config
     """
     conf.initialize()
     conf['section_1.a'] = 12
     self.assertTrue('section_1.a' in conf)
     self.assertFalse('section_1.f' in conf)
Пример #2
0
 def test_in(self):
     """Test the `in` function works for config
     """
     conf.initialize()
     conf["section_1.a"] = 12
     self.assertTrue("section_1.a" in conf)
     self.assertFalse("section_1.f" in conf)
Пример #3
0
def configure(default, commands, config_specs, description):
    """Load configuration from command line arguments and optionally, a
    configuration file. Possible command line arguments depend on the
    list of supplied commands, the configuration depends on the
    supplied configuration specification.
    """
    arg_parser = setup_arg_parser(default, commands, description)
    args = arg_parser.parse_args()

    handle_shortcuts(args)

    conf.initialize(
        args.config, [option.encode()
                      for option in config_specs.split('\n')], args.option,
        [option.encode() for option in DEFAULT_CONFIG_SPECS.split('\n')])

    actual_command = default
    if args.command is not None:
        for command in commands:
            if command.__name__ == args.command:
                actual_command = command
                break
    else:
        if args.interactive:
            actual_command = lambda: None

    if actual_command is None:
        print("Error: Not enough arguments.")
        arg_parser.print_usage()
        return None, args.argument, args.interactive

    return actual_command, args.argument, args.interactive
Пример #4
0
def configure(default, commands, config_specs, description):
    """Load configuration from command line arguments and optionally, a
    configuration file. Possible command line arguments depend on the
    list of supplied commands, the configuration depends on the
    supplied configuration specification.
    """
    arg_parser = setup_arg_parser(default, commands, description)
    args = arg_parser.parse_args()

    handle_shortcuts(args)

    conf.initialize(args.config,
                    [option.encode()
                     for option in config_specs.split('\n')],
                    args.option,
                    [option.encode()
                     for option in DEFAULT_CONFIG_SPECS.split('\n')])

    actual_command = default
    if args.command is not None:
        for command in commands:
            if command.__name__ == args.command:
                actual_command = command
                break
    else:
        if args.interactive:
            actual_command = lambda: None

    if actual_command is None:
        print("Error: Not enough arguments.")
        arg_parser.print_usage()
        return None, args.argument, args.interactive

    return actual_command, args.argument, args.interactive
Пример #5
0
    def test_initialize_with_file_spec(self):
        """Test initializing uninitialized config with a file and spec
        """
        spec = "[section_1]\n" "a = integer(min=0, default=5, max=12)"

        conf["section_1.a"] = 13
        self.assertEqual(conf["section_1.a"], 13)
        conf.initialize(self.filename, spec=([option.encode() for option in spec.split("\n")]))

        self.assertEqual(conf["section_1.a"], 12)
Пример #6
0
    def test_initialize_with_file(self):
        """Test initializing uninitialized config with a file
        """
        conf["a"] = 12
        conf["section_1.a"] = 13
        self.assertEqual(conf["a"], 12)
        self.assertEqual(conf["section_1.a"], 13)

        conf.initialize(self.filename)
        self.assertEqual(conf["a"], 12)
        self.assertEqual(conf["section_1.a"], 12)
Пример #7
0
    def test_initialize_with_file(self):
        """Test initializing uninitialized config with a file
        """
        conf['a'] = 12
        conf['section_1.a'] = 13
        self.assertEqual(conf['a'], 12)
        self.assertEqual(conf['section_1.a'], 13)

        conf.initialize(self.filename)
        self.assertEqual(conf['a'], 12)
        self.assertEqual(conf['section_1.a'], 12)
Пример #8
0
    def test_initialize_with_file_spec(self):
        """Test initializing uninitialized config with a file and spec
        """
        spec = ("[section_1]\n" "a = integer(min=0, default=5, max=12)")

        conf['section_1.a'] = 13
        self.assertEqual(conf['section_1.a'], 13)
        conf.initialize(self.filename,
                        spec=([option.encode()
                               for option in spec.split('\n')]))

        self.assertEqual(conf['section_1.a'], 12)
Пример #9
0
    def test_initialize_with_spec(self):
        """Test initializing uninitialized config with a spec
        """
        spec = ("[section_1]\n"
                "d = integer(min=0, default=5, max=12)")

        conf['section_1.d'] = 13
        self.assertEqual(conf['section_1.d'], 13)
        conf.initialize(self.filename, spec=(
            [option.encode() for option in spec.split('\n')]))

        self.assertEqual(conf['section_1.d'], 5)
Пример #10
0
 def test_init_float(self):
     """Test initializing uninitialized config with a float
     """
     conf["a"] = 12.34
     conf.initialize()
     self.assertEqual(conf["a"], 12.34)
Пример #11
0
 def test_init_string(self):
     """Test initializing uninitialized config with a string
     """
     conf["a"] = "foo"
     conf.initialize()
     self.assertEqual(conf["a"], "foo")
Пример #12
0
 def test_empty_initialized_conf(self):
     """Test empty config throws Exception even after initialization
     """
     conf.reset_instance()
     conf.initialize()
     self.assertRaises(KeyError, lambda: conf['a'])
Пример #13
0
 def test_initialize(self):
     """Test initializing uninitialized config with an integer
     """
     conf["a"] = 12
     conf.initialize()
     self.assertEqual(conf["a"], 12)
Пример #14
0
 def test_empty_initialized_conf(self):
     """Test empty config throws Exception even after initialization
     """
     conf.reset_instance()
     conf.initialize()
     self.assertRaises(KeyError, lambda: conf["a"])
Пример #15
0
 def test_initialize(self):
     """Test initializing uninitialized config with an integer
     """
     conf['a'] = 12
     conf.initialize()
     self.assertEqual(conf['a'], 12)
Пример #16
0
 def test_init_tuple(self):
     """Test initializing uninitialized config with a tuple
     """
     conf["a"] = (1, 2, 3, 4)
     conf.initialize()
     self.assertEqual(conf["a"], (1, 2, 3, 4))
Пример #17
0
 def test_init_float(self):
     """Test initializing uninitialized config with a float
     """
     conf['a'] = 12.34
     conf.initialize()
     self.assertEqual(conf['a'], 12.34)
Пример #18
0
 def test_init_list(self):
     """Test initializing uninitialized config with a list
     """
     conf["a"] = [1, 2, 3, 4]
     conf.initialize()
     self.assertEqual(conf["a"], [1, 2, 3, 4])
Пример #19
0
 def test_init_tuple(self):
     """Test initializing uninitialized config with a tuple
     """
     conf['a'] = (1, 2, 3, 4)
     conf.initialize()
     self.assertEqual(conf['a'], (1, 2, 3, 4))
Пример #20
0
 def test_init_boolean(self):
     """Test initializing uninitialized config with a boolean
     """
     conf["a"] = False
     conf.initialize()
     self.assertEqual(conf["a"], False)
Пример #21
0
 def test_init_string(self):
     """Test initializing uninitialized config with a string
     """
     conf['a'] = 'foo'
     conf.initialize()
     self.assertEqual(conf['a'], 'foo')
Пример #22
0
 def test_init_boolean(self):
     """Test initializing uninitialized config with a boolean
     """
     conf['a'] = False
     conf.initialize()
     self.assertEqual(conf['a'], False)
Пример #23
0
 def test_initialize(self):
     """Test initializing uninitialized config
     """
     conf['a'] = 12
     conf.initialize()
     self.assertEqual(conf['a'], 12)
Пример #24
0
 def test_init_list(self):
     """Test initializing uninitialized config with a list
     """
     conf['a'] = [1, 2, 3, 4]
     conf.initialize()
     self.assertEqual(conf['a'], [1, 2, 3, 4])