#!@PYTHON@
# html-gettext.py
# USAGE: html-gettext.py [-o OUTDIR] LANG FILES
#
# -o OUTDIR specifies that output files should be written in OUTDIR
# rather than be overwritten
#
import sys
import re
import os
import getopt
import langdefs
optlist, args = getopt.getopt(sys.argv[1:],'o:')
lang = args[0]
files = args [1:]
outdir = '.'
for x in optlist:
if x[0] == '-o':
outdir = x[1]
double_punct_char_separator = langdefs.LANGDICT[lang].double_punct_char_sep
my_gettext = langdefs.translation[lang]
html_codes = ((' -- ', ' – '),
(' --- ', ' — '),
("'", '’'))
texi_html_conversion = {
'command': {
'html2texi':
(re.compile (r'(?:|)(.*?)(?:
|)'),
r'@command{\1}'),
'texi2html':
(re.compile (r'@command{(.*?)}'),
r'\1
'),
},
'code': {
'html2texi':
(re.compile (r'(.*?)
'),
r'@code{\1}'),
'texi2html':
(re.compile (r'@code{(.*?)}'),
r'\1
'),
},
}
whitespaces = re.compile (r'\s+')
def _ (s):
if not s:
return ''
str = whitespaces.sub (' ', s)
for c in html_codes:
str = str.replace (c[1], c[0])
for command in texi_html_conversion:
d = texi_html_conversion[command]
str = d['html2texi'][0].sub (d['html2texi'][1], str)
str = my_gettext (str)
str = d['texi2html'][0].sub (d['texi2html'][1], str)
for c in html_codes:
str = str.replace (c[0], c[1])
return str
link_re = re.compile (r'')
def link_gettext (m):
return ''
makeinfo_title_re = re.compile (r'
)?\
(?PAppendix )?(?P[A-Z0-9.]+ | (?:<){1,2} | [^>:]+?: | |)\
(?P(?:|?code>||[^>])+?)(?P(?(code)
|))\
(?P (?:>){1,2} | |)
:?')
def a_href_gettext (m):
s = ''
if m.group(0)[-1] == ':':
s = double_punct_char_separator + ':'
t = ''
if m.group ('appendix'):
t = _ (m.group ('appendix'))
return '' + s
h_re = re.compile (r'