doc/check-seclevel.py
changeset 49796 98e7be1ed6c5
parent 49217 13dfad0f9f7a
equal deleted inserted replaced
49795:f1e820cda2f5 49796:98e7be1ed6c5
    44     )
    44     )
    45     ui.warn(avail.encode('utf-8'))
    45     ui.warn(avail.encode('utf-8'))
    46 
    46 
    47 
    47 
    48 def checkseclevel(ui, doc, name, initlevel):
    48 def checkseclevel(ui, doc, name, initlevel):
    49     ui.notenoi18n('checking "%s"\n' % name)
    49     ui.notenoi18n(('checking "%s"\n' % name).encode('utf-8'))
    50     if not isinstance(doc, bytes):
    50     if not isinstance(doc, bytes):
    51         doc = doc.encode('utf-8')
    51         doc = doc.encode('utf-8')
    52     blocks, pruned = minirst.parse(doc, 0, ['verbose'])
    52     blocks, pruned = minirst.parse(doc, 0, ['verbose'])
    53     errorcnt = 0
    53     errorcnt = 0
    54     curlevel = initlevel
    54     curlevel = initlevel
    68             errorcnt += 1
    68             errorcnt += 1
    69             continue
    69             continue
    70         nextlevel = mark2level[mark]
    70         nextlevel = mark2level[mark]
    71         if curlevel < nextlevel and curlevel + 1 != nextlevel:
    71         if curlevel < nextlevel and curlevel + 1 != nextlevel:
    72             ui.warnnoi18n(
    72             ui.warnnoi18n(
    73                 'gap of section level at "%s" of %s\n' % (title, name)
    73                 ('gap of section level at "%s" of %s\n' % (title, name)).encode(
       
    74                     'utf-8'
       
    75                 )
    74             )
    76             )
    75             showavailables(ui, initlevel)
    77             showavailables(ui, initlevel)
    76             errorcnt += 1
    78             errorcnt += 1
    77             continue
    79             continue
    78         ui.notenoi18n(
    80         ui.notenoi18n(
    79             'appropriate section level for "%s %s"\n'
    81             (
    80             % (mark * (nextlevel * 2), title)
    82                 'appropriate section level for "%s %s"\n'
       
    83                 % (mark * (nextlevel * 2), title)
       
    84             ).encode('utf-8')
    81         )
    85         )
    82         curlevel = nextlevel
    86         curlevel = nextlevel
    83 
    87 
    84     return errorcnt
    88     return errorcnt
    85 
    89 
    88     errorcnt = 0
    92     errorcnt = 0
    89     for k, entry in cmdtable.items():
    93     for k, entry in cmdtable.items():
    90         name = k.split(b"|")[0].lstrip(b"^")
    94         name = k.split(b"|")[0].lstrip(b"^")
    91         if not entry[0].__doc__:
    95         if not entry[0].__doc__:
    92             ui.notenoi18n(
    96             ui.notenoi18n(
    93                 'skip checking %s: no help document\n' % (namefmt % name)
    97                 (
       
    98                     'skip checking %s: no help document\n' % (namefmt % name)
       
    99                 ).encode('utf-8')
    94             )
   100             )
    95             continue
   101             continue
    96         errorcnt += checkseclevel(
   102         errorcnt += checkseclevel(
    97             ui, entry[0].__doc__, namefmt % name, initlevel
   103             ui, entry[0].__doc__, namefmt % name, initlevel
    98         )
   104         )
   115         list(extensions.enabled()) + list(extensions.disabled())
   121         list(extensions.enabled()) + list(extensions.disabled())
   116     ):
   122     ):
   117         mod = extensions.load(ui, name, None)
   123         mod = extensions.load(ui, name, None)
   118         if not mod.__doc__:
   124         if not mod.__doc__:
   119             ui.notenoi18n(
   125             ui.notenoi18n(
   120                 'skip checking %s extension: no help document\n' % name
   126                 (
       
   127                     'skip checking %s extension: no help document\n' % name
       
   128                 ).encode('utf-8')
   121             )
   129             )
   122             continue
   130             continue
   123         errorcnt += checkseclevel(
   131         errorcnt += checkseclevel(
   124             ui, mod.__doc__, '%s extension' % name, initlevel_ext
   132             ui, mod.__doc__, '%s extension' % name, initlevel_ext
   125         )
   133         )
   142     else:
   150     else:
   143         with open(filename) as fp:
   151         with open(filename) as fp:
   144             doc = fp.read()
   152             doc = fp.read()
   145 
   153 
   146     ui.notenoi18n(
   154     ui.notenoi18n(
   147         'checking input from %s with initlevel %d\n' % (filename, initlevel)
   155         (
       
   156             'checking input from %s with initlevel %d\n' % (filename, initlevel)
       
   157         ).encode('utf-8')
   148     )
   158     )
   149     return checkseclevel(ui, doc, 'input from %s' % filename, initlevel)
   159     return checkseclevel(ui, doc, 'input from %s' % filename, initlevel)
   150 
   160 
   151 
   161 
   152 def main():
   162 def main():