summaryrefslogtreecommitdiff
path: root/scripts/import-conf-mode-commands
diff options
context:
space:
mode:
authorhagbard <vyosdev@derith.de>2019-12-16 08:56:46 -0800
committerhagbard <vyosdev@derith.de>2019-12-16 08:56:46 -0800
commit214e63fbad5f1ed008543ba0eec56d1aa6649745 (patch)
tree71f21947a57366cf007206b0b852411ed09afb0e /scripts/import-conf-mode-commands
parentd814020778b8310faa3cd57ccfbc718bfb2fe215 (diff)
parentb55b68f6246329468b4ab3450e127d5bab683bff (diff)
downloadvyos-1x-214e63fbad5f1ed008543ba0eec56d1aa6649745.tar.gz
vyos-1x-214e63fbad5f1ed008543ba0eec56d1aa6649745.zip
Merge branch 'current' into equuleus
Diffstat (limited to 'scripts/import-conf-mode-commands')
-rwxr-xr-xscripts/import-conf-mode-commands23
1 files changed, 19 insertions, 4 deletions
diff --git a/scripts/import-conf-mode-commands b/scripts/import-conf-mode-commands
index 4bdd5ee03..996b31c9c 100755
--- a/scripts/import-conf-mode-commands
+++ b/scripts/import-conf-mode-commands
@@ -34,9 +34,10 @@ TAG_NODE = 2
def parse_command_data(t):
regs = {
- 'help': r'\bhelp:(.*)(?:\n|$)',
- 'priority': r'\bpriority:(.*)(?:\n|$)',
- 'type': r'\btype:(.*)(?:\n|$)'
+ 'help': r'\bhelp:(.*)(?:\n|$)',
+ 'priority': r'\bpriority:(.*)(?:\n|$)',
+ 'type': r'\btype:(.*)(?:\n|$)',
+ 'syntax_expression_var': r'\bsyntax:expression: \$VAR\(\@\) in (.*)'
}
data = {'multi': False, 'help': ""}
@@ -74,7 +75,7 @@ def walk(tree, base_path, name):
# Tag node dirs will always have 'node.tag' subdir and 'node.def' file
# Leaf node dirs have nothing but a 'node.def' file
# Everything that doesn't match either of these patterns is a normal node
- if contents == ['node.tag', 'node.def']:
+ if 'node.tag' in contents:
print("Creating a tag node from {0}".format(path))
elem = etree.Element('tagNode')
node_type = TAG_NODE
@@ -129,6 +130,20 @@ def walk(tree, base_path, name):
constraint_elem = etree.Element('constraint')
has_constraint = False
+ # Add regexp field for multiple options
+ if data['syntax_expression_var']:
+ regex = etree.Element('regex')
+ constraint_error=etree.Element('constraintErrorMessage')
+ values = re.search(r'(.+) ; (.+)', data['syntax_expression_var']).group(1)
+ message = re.search(r'(.+) ; (.+)', data['syntax_expression_var']).group(2)
+ values = re.findall(r'\"(.+?)\"', values)
+ regex.text = '|'.join(values)
+ constraint_error.text = re.sub('\".*?VAR.*?\"', '', message)
+ constraint_error.text = re.sub(r'[\"|\\]', '', message)
+ constraint_elem.append(regex)
+ props_elem.append(constraint_elem)
+ props_elem.append(constraint_error)
+
if data['val_help']:
for vh in data['val_help']:
vh_elem = etree.Element('valueHelp')