File indexing completed on 2024-04-28 08:45:26
0001 #!/usr/bin/env python3 0002 0003 import fileinput 0004 import re 0005 import sys 0006 import os 0007 0008 0009 def fix_man_docbook(lang): 0010 scriptdir = os.path.dirname(os.path.abspath(__file__)).replace('\\', '/') 0011 for line in fileinput.input(mode='rb'): 0012 line = line\ 0013 .replace(b'"-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [', 0014 b'"-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [\n' + 0015 b" <!ENTITY % fromkdoctools SYSTEM '" + scriptdir.encode() + b"/fromkdoctools.ent'>\n" + 0016 b" %fromkdoctools;\n" + 0017 b" <!ENTITY language '" + lang.encode() + b"'>")\ 0018 .replace(b'ufleisch@', b'ufleisch at ')\ 0019 .replace(b'&FDLNotice;', 0020 b'<para><ulink url="http://www.gnu.org/licenses/licenses.html#FDL">FDL</ulink></para>')\ 0021 .replace(b'&underFDL;', 0022 b'<para><ulink url="http://www.gnu.org/licenses/licenses.html#FDL">FDL</ulink></para>')\ 0023 .replace(b'&underGPL;', 0024 b'<para><ulink url="http://www.gnu.org/licenses/licenses.html#GPL">GPL</ulink></para>')\ 0025 .replace(b'&documentation.index;', b'')\ 0026 .replace(b'<book ', b'<article ')\ 0027 .replace(b'</book>', b'</refentry>\n</article>')\ 0028 .replace(b'<bookinfo', b'<articleinfo')\ 0029 .replace(b'</bookinfo>', 0030 b'</articleinfo>\n\n<refentry id="kid3">\n\n')\ 0031 .replace(b'<preface', b'<refsect1')\ 0032 .replace(b'</preface', b'</refsect1')\ 0033 .replace(b'<chapter', b'<refsect1')\ 0034 .replace(b'</chapter', b'</refsect1')\ 0035 .replace(b'<sect1', b'<refsect2')\ 0036 .replace(b'</sect1', b'</refsect2')\ 0037 .replace(b'<sect2', b'<refsect3')\ 0038 .replace(b'</sect2', b'</refsect3')\ 0039 .replace(b'<appendix', b'<refsect1')\ 0040 .replace(b'</appendix', b'</refsect1') 0041 line = re.sub(br'^<!--change manpage(.*)-->.*$', br'\1', line) 0042 line = re.sub(br'^<!--begin manpage include$', 0043 br'<!--begin manpage include-->', line) 0044 line = re.sub(br'^end manpage include-->$', 0045 br'<!--end manpage include-->', line) 0046 line = re.sub(br'^<!--begin manpage ignore-->$', 0047 br'<!--begin manpage ignore', line) 0048 line = re.sub(br'^<!--end manpage ignore-->$', 0049 br'end manpage ignore-->', line) 0050 os.write(sys.stdout.fileno(), line) 0051 0052 if __name__ == '__main__': 0053 lang = 'en' 0054 if len(sys.argv) > 1: 0055 lang = sys.argv[1] 0056 if os.path.isfile(lang): 0057 lang = os.path.split(os.path.dirname(lang))[1] 0058 if lang == 'kid3': 0059 lang = os.path.normpath(sys.argv[1]).split(os.path.sep)[-4] 0060 else: 0061 del sys.argv[1] 0062 fix_man_docbook(lang)