summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrebortg <github@ghlr.de>2022-03-29 20:00:53 +0200
committerrebortg <github@ghlr.de>2022-03-29 20:00:53 +0200
commit76d521bd070f5ca2aca09fc760cea771cbfb08fd (patch)
tree1aaaa8f501e24cb37f9b1b1038cacf96eb8bacc4
parent4bf3e11b7032fd6b5edafad0b42a3f5dc2be6377 (diff)
downloadvyos-documentation-76d521bd070f5ca2aca09fc760cea771cbfb08fd.tar.gz
vyos-documentation-76d521bd070f5ca2aca09fc760cea771cbfb08fd.zip
coverage: improve command comparing
-rw-r--r--docs/_ext/vyos.py48
1 files changed, 34 insertions, 14 deletions
diff --git a/docs/_ext/vyos.py b/docs/_ext/vyos.py
index 87abfbab..dec34d34 100644
--- a/docs/_ext/vyos.py
+++ b/docs/_ext/vyos.py
@@ -479,20 +479,45 @@ class CfgCmdDirective(CmdDirective):
def strip_cmd(cmd, debug=False):
+
+ # find all [...] and also nested [...]
+ # regex and str.find() had problems with nested [...]
+ appearance = 0
+ cmd_new = ""
+ for c in cmd:
+ if c == "[":
+ appearance = appearance + 1
+ if appearance == 0:
+ cmd_new = f"{cmd_new}{c}"
+ if c == "]":
+ appearance = appearance - 1
+
+ # only if all [..] will be delete if appearance > 0 there is a syntax errror
+ if appearance == 0:
+ cmd = cmd_new
+
+ # same for <...>
+ appearance = 0
+ cmd_new = ""
+ for c in cmd:
+ if c == "<":
+ appearance = appearance + 1
+ if appearance == 0:
+ cmd_new = f"{cmd_new}{c}"
+ if c == ">":
+ appearance = appearance - 1
+
+ # only if all <..> will be delete if appearance > 0 there is a syntax errror
+ if appearance == 0:
+ cmd = cmd_new
+
if debug:
print("")
print(cmd)
- cmd = re.sub('set','',cmd)
+ cmd = re.sub('^set','',cmd)
if debug:
print(cmd)
- #while " | " in cmd:
- cmd = re.sub('\s+\|\s+','',cmd)
- if debug:
- print(cmd)
- cmd = re.sub('<\S*>','',cmd)
- if debug:
- print(cmd)
- cmd = re.sub('\[\S\]','',cmd)
+ cmd = cmd.replace('|','')
if debug:
print(cmd)
cmd = re.sub('\s+','',cmd)
@@ -544,9 +569,6 @@ def process_coverage(app, fromdocname, doccmd, xmlcmd, cli_type):
coverage_list[strip_cmd(cmd['cmd'])] = dict(coverage_item)
-
- #print(coverage_list.keys())
-
for cmd in xmlcmd:
strip = strip_cmd(cmd['cmd'])
@@ -710,5 +732,3 @@ def handle_document_meta_data(app, document):
else:
pass
#logger.warning(f'lastproofread meta data missing in {app.env.doc2path(docname)}')
-
-