doc/check-seclevel.py
changeset 43080 86e4daa2d54c
parent 43076 2372284d9457
child 43094 e8cf9ad52a78
equal deleted inserted replaced
43079:5209fc94b982 43080:86e4daa2d54c
    45     )
    45     )
    46     ui.warn(avail.encode('utf-8'))
    46     ui.warn(avail.encode('utf-8'))
    47 
    47 
    48 
    48 
    49 def checkseclevel(ui, doc, name, initlevel):
    49 def checkseclevel(ui, doc, name, initlevel):
    50     ui.note('checking "%s"\n' % name)
    50     ui.notenoi18n('checking "%s"\n' % name)
    51     if not isinstance(doc, bytes):
    51     if not isinstance(doc, bytes):
    52         doc = doc.encode('utf-8')
    52         doc = doc.encode('utf-8')
    53     blocks, pruned = minirst.parse(doc, 0, ['verbose'])
    53     blocks, pruned = minirst.parse(doc, 0, ['verbose'])
    54     errorcnt = 0
    54     errorcnt = 0
    55     curlevel = initlevel
    55     curlevel = initlevel
    68             showavailables(ui, initlevel)
    68             showavailables(ui, initlevel)
    69             errorcnt += 1
    69             errorcnt += 1
    70             continue
    70             continue
    71         nextlevel = mark2level[mark]
    71         nextlevel = mark2level[mark]
    72         if curlevel < nextlevel and curlevel + 1 != nextlevel:
    72         if curlevel < nextlevel and curlevel + 1 != nextlevel:
    73             ui.warn('gap of section level at "%s" of %s\n' % (title, name))
    73             ui.warnnoi18n('gap of section level at "%s" of %s\n' % (title, name))
    74             showavailables(ui, initlevel)
    74             showavailables(ui, initlevel)
    75             errorcnt += 1
    75             errorcnt += 1
    76             continue
    76             continue
    77         ui.note(
    77         ui.notenoi18n(
    78             'appropriate section level for "%s %s"\n'
    78             'appropriate section level for "%s %s"\n'
    79             % (mark * (nextlevel * 2), title)
    79             % (mark * (nextlevel * 2), title)
    80         )
    80         )
    81         curlevel = nextlevel
    81         curlevel = nextlevel
    82 
    82 
    86 def checkcmdtable(ui, cmdtable, namefmt, initlevel):
    86 def checkcmdtable(ui, cmdtable, namefmt, initlevel):
    87     errorcnt = 0
    87     errorcnt = 0
    88     for k, entry in cmdtable.items():
    88     for k, entry in cmdtable.items():
    89         name = k.split(b"|")[0].lstrip(b"^")
    89         name = k.split(b"|")[0].lstrip(b"^")
    90         if not entry[0].__doc__:
    90         if not entry[0].__doc__:
    91             ui.note('skip checking %s: no help document\n' % (namefmt % name))
    91             ui.notenoi18n('skip checking %s: no help document\n' % (namefmt % name))
    92             continue
    92             continue
    93         errorcnt += checkseclevel(
    93         errorcnt += checkseclevel(
    94             ui, entry[0].__doc__, namefmt % name, initlevel
    94             ui, entry[0].__doc__, namefmt % name, initlevel
    95         )
    95         )
    96     return errorcnt
    96     return errorcnt
   111     for name in sorted(
   111     for name in sorted(
   112         list(extensions.enabled()) + list(extensions.disabled())
   112         list(extensions.enabled()) + list(extensions.disabled())
   113     ):
   113     ):
   114         mod = extensions.load(ui, name, None)
   114         mod = extensions.load(ui, name, None)
   115         if not mod.__doc__:
   115         if not mod.__doc__:
   116             ui.note('skip checking %s extension: no help document\n' % name)
   116             ui.notenoi18n('skip checking %s extension: no help document\n' % name)
   117             continue
   117             continue
   118         errorcnt += checkseclevel(
   118         errorcnt += checkseclevel(
   119             ui, mod.__doc__, '%s extension' % name, initlevel_ext
   119             ui, mod.__doc__, '%s extension' % name, initlevel_ext
   120         )
   120         )
   121 
   121 
   136         doc = sys.stdin.read()
   136         doc = sys.stdin.read()
   137     else:
   137     else:
   138         with open(filename) as fp:
   138         with open(filename) as fp:
   139             doc = fp.read()
   139             doc = fp.read()
   140 
   140 
   141     ui.note(
   141     ui.notenoi18n(
   142         'checking input from %s with initlevel %d\n' % (filename, initlevel)
   142         'checking input from %s with initlevel %d\n' % (filename, initlevel)
   143     )
   143     )
   144     return checkseclevel(ui, doc, 'input from %s' % filename, initlevel)
   144     return checkseclevel(ui, doc, 'input from %s' % filename, initlevel)
   145 
   145 
   146 
   146