2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-10-07 13:36:21 +00:00

some cleanup and removal of temporary things

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/trac405@3680 e5f2f494-b856-4b98-b285-d166d9295462
This commit is contained in:
Jelte Jansen
2010-11-30 14:43:23 +00:00
parent 7da40bab8b
commit af62c6c6bb
5 changed files with 33 additions and 20 deletions

View File

@@ -7,17 +7,6 @@
"item_type": "string", "item_type": "string",
"item_optional": true, "item_optional": true,
"item_default": "@@LOCALSTATEDIR@@/@PACKAGE@/zone.sqlite3" "item_default": "@@LOCALSTATEDIR@@/@PACKAGE@/zone.sqlite3"
},
{ "item_name": "simple_list_int",
"item_type": "list",
"item_optional": true,
"item_default": [ 1, 2, 3],
"list_item_spec":
{ "item_name": "int_element",
"item_type": "integer",
"item_optional": false,
"item_default": 0
}
} }
], ],
"commands": [ "commands": [

View File

@@ -593,8 +593,8 @@ class BindCmdInterpreter(Cmd):
self.go(identifier) self.go(identifier)
except isc.cc.data.DataTypeError as dte: except isc.cc.data.DataTypeError as dte:
print("Error: " + str(dte)) print("Error: " + str(dte))
#except isc.cc.data.DataNotFoundError as dnfe: except isc.cc.data.DataNotFoundError as dnfe:
# print("Error: " + identifier + " not found") print("Error: " + identifier + " not found")
except KeyError as ke: except KeyError as ke:
print("Error: missing " + str(ke)) print("Error: missing " + str(ke))
raise ke raise ke

View File

@@ -112,7 +112,7 @@ def set_bindctl_options(parser):
help = 'PEM formatted server certificate validation chain file') help = 'PEM formatted server certificate validation chain file')
if __name__ == '__main__': if __name__ == '__main__':
#try: try:
parser = OptionParser(version = __version__) parser = OptionParser(version = __version__)
set_bindctl_options(parser) set_bindctl_options(parser)
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
@@ -120,7 +120,7 @@ if __name__ == '__main__':
tool = BindCmdInterpreter(server_addr, pem_file=options.cert_chain) tool = BindCmdInterpreter(server_addr, pem_file=options.cert_chain)
prepare_config_commands(tool) prepare_config_commands(tool)
tool.run() tool.run()
#except Exception as e: except Exception as e:
# print(e, "\nFailed to connect with b10-cmdctl module, is it running?") print(e, "\nFailed to connect with b10-cmdctl module, is it running?")

View File

@@ -87,20 +87,25 @@ def split_identifier_list_indices(identifier):
'a/b/c' will return ('a/b/c', None) 'a/b/c' will return ('a/b/c', None)
'a/b/c[1]' will return ('a/b/c', [1]) 'a/b/c[1]' will return ('a/b/c', [1])
'a/b/c[1][2][3]' will return ('a/b/c', [1, 2, 3]) 'a/b/c[1][2][3]' will return ('a/b/c', [1, 2, 3])
'a[0]/b[1]/c[2]' will return ('a[0]/b[1]/c, [2]) 'a[0]/b[1]/c[2]' will return ('a[0]/b[1]/c', [2])
""" """
if type(identifier) != str: if type(identifier) != str:
raise DataTypeError("identifier in " raise DataTypeError("identifier in "
"split_identifier_list_indices() " "split_identifier_list_indices() "
"not a string: " + str(identifier)) "not a string: " + str(identifier))
# We only work on the final 'part' of the identifier
id_parts = split_identifier(identifier) id_parts = split_identifier(identifier)
id_str = id_parts[-1] id_str = id_parts[-1]
i = id_str.find('[') i = id_str.find('[')
if i < 0: if i < 0:
if identifier.find(']') >= 0: if identifier.find(']') >= 0:
raise DataTypeError("Bad format in identifier: " + str(identifier)) raise DataTypeError("Bad format in identifier: " + str(identifier))
return identifier, None return identifier, None
id = identifier[:i]
# keep the non-index part of that to replace later
id = id_str[:i]
indices = [] indices = []
while i >= 0: while i >= 0:
e = id_str.find(']') e = id_str.find(']')
@@ -116,8 +121,10 @@ def split_identifier_list_indices(identifier):
raise DataTypeError("Bad format in identifier: " + str(identifier)) raise DataTypeError("Bad format in identifier: " + str(identifier))
if id.find(']') >= 0 or len(id_str) > 0: if id.find(']') >= 0 or len(id_str) > 0:
raise DataTypeError("Bad format in identifier: " + str(identifier)) raise DataTypeError("Bad format in identifier: " + str(identifier))
id_parts = id_parts[:-1]
id_parts.append(id) # we replace the final part of the original identifier with
# the stripped string
id_parts[-1] = id
id = _concat_identifier(id_parts) id = _concat_identifier(id_parts)
return id, indices return id, indices

View File

@@ -99,6 +99,23 @@ class TestData(unittest.TestCase):
self.assertEqual(id, 'a') self.assertEqual(id, 'a')
self.assertEqual(indices, [0, 1]) self.assertEqual(indices, [0, 1])
# examples from the docstring
id, indices = data.split_identifier_list_indices('a/b/c')
self.assertEqual(id, 'a/b/c')
self.assertEqual(indices, None)
id, indices = data.split_identifier_list_indices('a/b/c[1]')
self.assertEqual(id, 'a/b/c')
self.assertEqual(indices, [1])
id, indices = data.split_identifier_list_indices('a/b/c[1][2][3]')
self.assertEqual(id, 'a/b/c')
self.assertEqual(indices, [1, 2, 3])
id, indices = data.split_identifier_list_indices('a[0]/b[1]/c[2]')
self.assertEqual(id, 'a[0]/b[1]/c')
self.assertEqual(indices, [2])
# bad formats # bad formats
self.assertRaises(data.DataTypeError, data.split_identifier_list_indices, 'a[') self.assertRaises(data.DataTypeError, data.split_identifier_list_indices, 'a[')
self.assertRaises(data.DataTypeError, data.split_identifier_list_indices, 'a]') self.assertRaises(data.DataTypeError, data.split_identifier_list_indices, 'a]')