##// END OF EJS Templates
i18n: remove unused translation strings...
i18n: remove unused translation strings Remove translations of strings that are no longer used in Kallithea. These translations can be useful to translators in the future and therefore will be preserved in a separate kallithea-i18n repository with separate *-i18n branches. This commit is part of a series that normalizes the kallithea.po files by removing all comments, in particular source code references.

File last commit:

r7750:a8e6bb9e default
r7760:ef2387f0 default
Show More
docs-headings.py
83 lines | 2.6 KiB | text/x-python | PythonLexer
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537 #!/usr/bin/env python2
"""
Consistent formatting of rst section titles
"""
Mads Kiilerich
future: use Python print function
r7750 from __future__ import print_function
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537 import re
import subprocess
Mads Kiilerich
scripts: initial run of import cleanup using isort
r7718
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537 spaces = [
(0, 1), # we assume this is a over-and-underlined header
(2, 1),
(1, 1),
(1, 0),
(1, 0),
]
Mads Kiilerich
docs: use consistent style for section titles
r5568 # http://sphinx-doc.org/rest.html :
# for the Python documentation, this convention is used which you may follow:
# # with overline, for parts
# * with overline, for chapters
# =, for sections
# -, for subsections
# ^, for subsubsections
# ", for paragraphs
pystyles = ['#', '*', '=', '-', '^', '"']
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537 # match on a header line underlined with one of the valid characters
headermatch = re.compile(r'''\n*(.+)\n([][!"#$%&'()*+,./:;<=>?@\\^_`{|}~-])\2{2,}\n+''', flags=re.MULTILINE)
def main():
Thomas De Schampheleire
scripts: docs-headings: improve performance by grouping 'hg diff' invocations...
r7419 filenames = subprocess.check_output(['hg', 'loc', 'set:**.rst+kallithea/i18n/how_to']).splitlines()
for fn in filenames:
Mads Kiilerich
future: use Python print function
r7750 print('processing %s' % fn)
Lars Kruse
py3: replace "file" with "open"
r6785 s = open(fn).read()
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537
# find levels and their styles
lastpos = 0
styles = []
for markup in headermatch.findall(s):
style = markup[1]
if style in styles:
stylepos = styles.index(style)
if stylepos > lastpos + 1:
Mads Kiilerich
future: use Python print function
r7750 print('bad style %r with level %s - was at %s' % (style, stylepos, lastpos))
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537 else:
stylepos = len(styles)
if stylepos > lastpos + 1:
Mads Kiilerich
future: use Python print function
r7750 print('bad new style %r - expected %r' % (style, styles[lastpos + 1]))
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537 else:
styles.append(style)
lastpos = stylepos
# remove superfluous spacing (may however be restored by header spacing)
s = re.sub(r'''(\n\n)\n*''', r'\1', s, flags=re.MULTILINE)
Mads Kiilerich
docs: use consistent style for section titles
r5568 if styles:
newstyles = pystyles[pystyles.index(styles[0]):]
def subf(m):
title, style = m.groups()
level = styles.index(style)
before, after = spaces[level]
newstyle = newstyles[level]
return '\n' * (before + 1) + title + '\n' + newstyle * len(title) + '\n' * (after + 1)
s = headermatch.sub(subf, s)
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537
# remove superfluous spacing when headers are adjacent
s = re.sub(r'''(\n.+\n([][!"#$%&'()*+,./:;<=>?@\\^_`{|}~-])\2{2,}\n\n\n)\n*''', r'\1', s, flags=re.MULTILINE)
# fix trailing space and spacing before link sections
s = s.strip() + '\n'
s = re.sub(r'''\n+((?:\.\. _[^\n]*\n)+)$''', r'\n\n\n\1', s)
Lars Kruse
py3: replace "file" with "open"
r6785 open(fn, 'w').write(s)
Thomas De Schampheleire
scripts: docs-headings: improve performance by grouping 'hg diff' invocations...
r7419
Mads Kiilerich
future: use Python print function
r7750 print(subprocess.check_output(['hg', 'diff'] + filenames))
Mads Kiilerich
scripts: introduce scripts/docs-headings.py for reformatting rst section titles in docs...
r5537
if __name__ == '__main__':
main()