The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.0 KiB

#!/usr/bin/env python3
import sys
DOC_HEADER = '''<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<refentry id="{0}">
<refmeta>
<refentrytitle role="top_of_page" id="{0}.top_of_page">{0}</refentrytitle>
<refmiscinfo>{0}</refmiscinfo>
</refmeta>
<refnamediv>
<refname>{0}</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect2 id="{1}" role="enum">
<title>enum {1}</title>
<indexterm zone="{1}">
<primary>{1}</primary>
</indexterm>
<para><link linkend="{1}">{1}</link></para>
<refsect3 role="enum_members">
<title>Values</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="4">
<colspec colname="enum_members_name" colwidth="300px" />
<colspec colname="enum_members_value" colwidth="100px"/>
<colspec colname="enum_members_description" />
<tbody>
'''
DOC_ENUM = ''' <row role="constant">
<entry role="enum_member_name"><para>{0}</para><para></para></entry>
<entry role="enum_member_value"><para>= <literal>{1}</literal></para><para></para></entry>
<entry role="enum_member_description"></entry>
</row>'''
DOC_FOOTER = '''
</tbody>
</tgroup>
</informaltable>
</refsect3>
</refsect2>
</refentry>
'''
if __name__ == '__main__':
if len(sys.argv) >= 4:
with open(sys.argv[1], 'w') as doc_out:
enum_name = sys.argv[2]
enum_type = sys.argv[3]
doc_out.write(DOC_HEADER.format(enum_name, enum_type))
for i, enum in enumerate(sys.argv[4:]):
doc_out.write(DOC_ENUM.format(enum, i))
doc_out.write(DOC_FOOTER)
else:
print('Use: ' + sys.argv[0] + ' out name type [enums]')
sys.exit(0)