From 4f09f8a0d32f76b60e548800b31a2bb58c10a95b Mon Sep 17 00:00:00 2001 From: Antonio Cuñat Alario Date: Tue, 10 Dec 2019 18:36:58 +0100 Subject: scripts: import: T1836: fix XML export Fix export xml interfaces from node.def where node.tad doesn't have a node.def file --- scripts/import-conf-mode-commands | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/import-conf-mode-commands b/scripts/import-conf-mode-commands index 4bdd5ee03..3980b0cf4 100755 --- a/scripts/import-conf-mode-commands +++ b/scripts/import-conf-mode-commands @@ -74,7 +74,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 -- cgit v1.2.3 From 22184e3d47b1de68c6ff7beaa78986e5ba7d20a8 Mon Sep 17 00:00:00 2001 From: Antonio Cuñat Alario Date: Tue, 10 Dec 2019 18:39:30 +0100 Subject: scripts: import: T1836: add regex filter for condition import Add import multiple values to a regex xml expression --- scripts/import-conf-mode-commands | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/import-conf-mode-commands b/scripts/import-conf-mode-commands index 3980b0cf4..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': ""} @@ -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') -- cgit v1.2.3