Browse Source

update; show map contents

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/trac384@3752 e5f2f494-b856-4b98-b285-d166d9295462
Jelte Jansen 14 years ago
parent
commit
330e485343

+ 10 - 0
src/lib/python/isc/config/config_data.py

@@ -461,6 +461,16 @@ class MultiConfigData:
                                         li_spec['item_type'],
                                         value, status)
                             result.append(entry)
+                    elif item['item_type'] == 'map':
+                        map_name = item['item_name'] + '/'
+                        for map_item in item['map_item_spec']:
+                            value, status =  self.get_value('/' + identifier + '/' + map_item['item_name'])
+                            entry = _create_value_map_entry(
+                                        map_name + map_item['item_name'],
+                                        map_item['item_type'],
+                                        value,
+                                        status)
+                            result.append(entry)
                     else:
                         value, status = self.get_value("/" + identifier)
                         if value is not None:

+ 10 - 6
src/lib/python/isc/config/tests/config_data_test.py

@@ -461,16 +461,20 @@ class TestMultiConfigData(unittest.TestCase):
         module_spec = isc.config.module_spec_from_file(self.data_path + os.sep + "spec22.spec")
         self.mcd.set_specification(module_spec)
         expected = [{'default': True,
+                     'modified': False,
+                     'name': 'value9/v91',
+                     'type': 'string',
+                     'value': 'def'},
+                    {'default': True,
+                     'modified': False,
+                     'name': 'value9/v92',
                      'type': 'map',
-                     'name': 'value9',
-                     'value': {'v92': {}, 'v91': 'def'},
-                     'modified': False}]
-
+                     'value': {}
+                    }
+                   ]
         maps = self.mcd.get_value_maps("/Spec22/value9")
         self.assertEqual(expected, maps)
 
-
-
     def test_set_value(self):
         module_spec = isc.config.module_spec_from_file(self.data_path + os.sep + "spec2.spec")
         self.mcd.set_specification(module_spec)