diff options
| author | rebortg <github@ghlr.de> | 2022-03-29 20:00:53 +0200 | 
|---|---|---|
| committer | rebortg <github@ghlr.de> | 2022-03-29 20:00:53 +0200 | 
| commit | 76d521bd070f5ca2aca09fc760cea771cbfb08fd (patch) | |
| tree | 1aaaa8f501e24cb37f9b1b1038cacf96eb8bacc4 /docs | |
| parent | 4bf3e11b7032fd6b5edafad0b42a3f5dc2be6377 (diff) | |
| download | vyos-documentation-76d521bd070f5ca2aca09fc760cea771cbfb08fd.tar.gz vyos-documentation-76d521bd070f5ca2aca09fc760cea771cbfb08fd.zip | |
coverage: improve command comparing
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/_ext/vyos.py | 48 | 
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)}') - -         | 
