From 4f09f8a0d32f76b60e548800b31a2bb58c10a95b Mon Sep 17 00:00:00 2001
From: Antonio Cuñat Alario <toni@cunyat.net>
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 <toni@cunyat.net>
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