diff options
Diffstat (limited to 'docs/_ext')
| -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 6832167f..fbdfefab 100644 --- a/docs/_ext/vyos.py +++ b/docs/_ext/vyos.py @@ -437,20 +437,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) @@ -502,9 +527,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']) @@ -668,5 +690,3 @@ def handle_document_meta_data(app, document):      else:          pass          #logger.warning(f'lastproofread meta data missing in {app.env.doc2path(docname)}') - -         | 
