Example #1
0
def print_key(config_path, key, type_name, default=None):
    config = read_config(config_path)
    keys = key.split('.')
    for key in keys:
        try:
            config = config[key]
        except KeyError:
            if default is not None:
                print(str(default))
                return
            else:
                raise exc.ConfigException(
                    'key %s does not exist in %s' % (key, config_path))
    value_types.ensure_type(config, type_name)
    print(str(config))
def print_key(
        config_path, key, type_name, default=None, fallback_metadata=None):
    config = collect_config.collect_config(config_path, fallback_metadata)
    config = _extract_key(config_path, key, fallback_metadata)
    if config is None:
        if default is not None:
            print(str(default))
            return
        else:
            raise exc.ConfigException(
                'key %s does not exist in %s' % (key, config_path))
    value_types.ensure_type(str(config), type_name)
    if isinstance(config, (dict, list, bool)):
        print(json.dumps(config))
    else:
        print(str(config))
def print_key(
        config_path, key, type_name, default=None, fallback_metadata=None):
    config = collect_config.collect_config(config_path, fallback_metadata)
    keys = key.split('.')
    for key in keys:
        try:
            config = config[key]
        except (KeyError, TypeError):
            if default is not None:
                print(str(default))
                return
            else:
                raise exc.ConfigException(
                    'key %s does not exist in %s' % (key, config_path))
    value_types.ensure_type(str(config), type_name)
    print(str(config))
 def test_dsn(self):
     test_dsn = 'mysql://*****:*****@host/db'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))
 def test_dsn_sqlite_file(self):
     test_dsn = 'sqlite:///tmp/foo.db'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))
 def test_ent_address_ipv6(self):
     self.assertEqual('::', value_types.ensure_type('::', 'netaddress'))
     self.assertEqual('2001:db8::2:1', value_types.ensure_type(
         '2001:db8::2:1', 'netaddress'))
 def test_net_address_ipv4(self):
     self.assertEqual('192.0.2.1', value_types.ensure_type('192.0.2.1',
                                                           'netaddress'))
 def test_default_empty(self):
     self.assertEqual('',
                      value_types.ensure_type('', 'default'))
 def test_username(self):
     for test_username in ['guest', 'guest_13-42']:
         self.assertEqual(test_username, value_types.ensure_type(
                          test_username,
                          'username'))
 def test_dsn_sqlite_file(self):
     test_dsn = 'sqlite:///tmp/foo.db'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))
 def test_ent_address_ipv6(self):
     self.assertEqual('::', value_types.ensure_type('::', 'netaddress'))
     self.assertEqual('2001:db8::2:1', value_types.ensure_type(
         '2001:db8::2:1', 'netaddress'))
 def test_net_address_cidr(self):
     self.assertEqual('192.0.2.0/24',
                      value_types.ensure_type('192.0.2.0/24', 'netaddress'))
 def test_net_address_ipv4(self):
     self.assertEqual('192.0.2.1', value_types.ensure_type('192.0.2.1',
                                                           'netaddress'))
 def test_raw_empty(self):
     self.assertEqual('',
                      value_types.ensure_type('', 'raw'))
 def test_default_empty(self):
     self.assertEqual('',
                      value_types.ensure_type('', 'default'))
 def test_default(self):
     self.assertEqual("foobar",
                      value_types.ensure_type("foobar", "default"))
     self.assertEqual("x86_64",
                      value_types.ensure_type("x86_64", "default"))
 def test_int(self):
     self.assertEqual("123", value_types.ensure_type("123", "int"))
 def test_dsn_set_variables(self):
     test_dsn = 'mysql://*****:*****@host/db?charset=utf8'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))
 def test_dsn_sqlite_memory(self):
     test_dsn = 'sqlite://'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))
 def test_int(self):
     self.assertEqual("123", value_types.ensure_type("123", "int"))
 def test_net_address_dns(self):
     self.assertEqual('host.0domain-name.test',
                      value_types.ensure_type('host.0domain-name.test',
                                              'netaddress'))
 def test_swiftdevices_multi(self):
     test_swiftdevices = 'r1z1-127.0.0.1:%PORT%/d1,r1z1-127.0.0.1:%PORT%/d2'
     self.assertEqual(test_swiftdevices, value_types.ensure_type(
                      test_swiftdevices,
                      'swiftdevices'))
 def test_net_address_empty(self):
     self.assertEqual('', value_types.ensure_type('', 'netaddress'))
 def test_netdevice_dash(self):
     self.assertEqual('br-ctlplane',
                      value_types.ensure_type('br-ctlplane', 'netdevice'))
 def test_default(self):
     self.assertEqual("foobar",
                      value_types.ensure_type("foobar", "default"))
 def test_netdevice_alias(self):
     self.assertEqual('eth0:1',
                      value_types.ensure_type('eth0:1', 'netdevice'))
 def test_raw_empty(self):
     self.assertEqual('',
                      value_types.ensure_type('', 'raw'))
 def test_dsn(self):
     test_dsn = 'mysql://*****:*****@host/db'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))
 def test_net_address_cidr(self):
     self.assertEqual('192.0.2.0/24',
                      value_types.ensure_type('192.0.2.0/24', 'netaddress'))
 def test_dsn_set_variables(self):
     test_dsn = 'mysql://*****:*****@host/db?charset=utf8'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))
 def test_net_address_dns(self):
     self.assertEqual('host.0domain-name.test',
                      value_types.ensure_type('host.0domain-name.test',
                                              'netaddress'))
 def test_dsn_sqlite_memory(self):
     test_dsn = 'sqlite://'
     self.assertEqual(test_dsn, value_types.ensure_type(test_dsn, 'dsn'))