diff options
author | David Zeuthen <davidz@redhat.com> | 2011-04-04 11:15:12 -0400 |
---|---|---|
committer | David Zeuthen <davidz@redhat.com> | 2011-04-04 11:15:12 -0400 |
commit | 7b289ed57d0248c6014b47a1b9de851d50b90efe (patch) | |
tree | a22d285cddff9bafee9998a60773f8ead16e4737 | |
parent | fe9de68bceed5a92fec06d8e0da40490b4bb2593 (diff) |
Generate one XML file per refentry
Signed-off-by: David Zeuthen <davidz@redhat.com>
-rw-r--r-- | doc/gen-docs.xml | 6 | ||||
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/codegen_docbook.py | 17 | ||||
-rw-r--r-- | src/codegen_main.py | 4 |
4 files changed, 19 insertions, 12 deletions
diff --git a/doc/gen-docs.xml b/doc/gen-docs.xml index ecb06f2..50fc831 100644 --- a/doc/gen-docs.xml +++ b/doc/gen-docs.xml @@ -33,7 +33,11 @@ <xi:include href="xml/gdbusobjectmanagerclient.xml"/> </chapter> - <xi:include href="../src/test-generated-docs.xml"/> + <chapter> + <title>D-Bus Interfaces</title> + <xi:include href="../src/test-generated-doc-org.project.Bar.xml"/> + <xi:include href="../src/test-generated-doc-org.project.InlineDocs.xml"/> + </chapter> </part> <part> diff --git a/src/Makefile.am b/src/Makefile.am index 3bc9760..b5c8dae 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -101,7 +101,7 @@ test-generated.h test-generated.c : Makefile.am org.project.xml $(codegen_PYTHON --c-namespace Foo \ --interface-prefix org.project. \ --generate-c-code test-generated \ - --generate-docbook test-generated-docs.xml \ + --generate-docbook test-generated-doc \ --annotate "org.project.Bar" Key1 Value1 \ --annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \ --annotate "org.project.Bar.HelloWorld()" Key3 Value3 \ @@ -148,7 +148,7 @@ gdbus_example_proxymanager_LDADD = $(GLIB2_LIBS) libgen.la EXTRA_DIST += gdbus-codegen.pc.in -CLEANFILES = test-generated.[ch] +CLEANFILES = test-generated.[ch] test-generated-doc-*.xml clean-local: rm -f *~ diff --git a/src/codegen_docbook.py b/src/codegen_docbook.py index a05f0f6..8b25b6d 100644 --- a/src/codegen_docbook.py +++ b/src/codegen_docbook.py @@ -11,9 +11,9 @@ import parser # ---------------------------------------------------------------------------------------------------- class DocbookCodeGenerator: - def __init__(self, ifaces, docbook_file): + def __init__(self, ifaces, docbook): self.ifaces = ifaces - self.out = docbook_file + self.docbook = docbook def print_method_prototype(self, i, m, in_synopsis): max_method_len = 0 @@ -193,13 +193,17 @@ class DocbookCodeGenerator: self.out.write('</refsect2>\n') def generate(self): - self.out.write('<chapter>\n') - self.out.write('<title>D-Bus Interfaces</title>\n') for i in self.ifaces: + self.out = file('%s-%s.xml'%(self.docbook, i.name), 'w') + self.out.write(''%()) + self.out.write('<?xml version="1.0" encoding="utf-8"?>\n'%()) + self.out.write('<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"\n'%()) + self.out.write(' "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [\n'%()) + self.out.write(']>\n'%()) self.out.write('<refentry id="gdbus-%s">\n'%(i.name)) self.out.write(' <refmeta>'%()) self.out.write(' <refentrytitle role="top_of_page" id="gdbus-%s.top_of_page">%s</refentrytitle>\n'%(i.name, i.name)) - self.out.write(' <indexterm zone="gdbus-interface-%s"><primary sortas="%s">%s</primary></indexterm>\n'%(i.name, i.name_without_prefix, i.name)) + self.out.write(' <indexterm zone="gdbus-%s.top_of_page"><primary sortas="%s">%s</primary></indexterm>\n'%(i.name, i.name_without_prefix, i.name)) self.out.write(' </refmeta>'%()) self.out.write(' <refnamediv>'%()) @@ -215,7 +219,7 @@ class DocbookCodeGenerator: self.print_synopsis_properties(i) self.out.write('<refsect1 role="desc" id="gdbus-interface-%s">\n'%(i.name)) - self.out.write(' <title role="desc.title">D-Bus Interface %s</title>\n'%(i.name)) + self.out.write(' <title role="desc.title">Description</title>\n'%()) self.out.write(' <para>%s</para>\n'%(i.doc_string)) self.out.write('</refsect1>\n'%()) @@ -242,5 +246,4 @@ class DocbookCodeGenerator: self.out.write('</refentry>\n') self.out.write('\n') - self.out.write('</chapter>\n') diff --git a/src/codegen_main.py b/src/codegen_main.py index 1ebd428..7e70e80 100644 --- a/src/codegen_main.py +++ b/src/codegen_main.py @@ -135,7 +135,7 @@ def codegen_main(): arg_parser.add_argument('--generate-c-code', nargs='?', metavar='OUTFILE', help='Generate C code in OUTFILE.[ch]') arg_parser.add_argument('--generate-docbook', nargs='?', metavar='OUTFILE', - help='Generate Docbook docs in OUTFILE') + help='Generate Docbook in OUTFILE-org.Project.IFace.xml') arg_parser.add_argument('--annotate', nargs=3, action='append', metavar=('WHAT', 'KEY', 'VALUE'), help='Add annotation (may be used several times)') args = arg_parser.parse_args(); @@ -162,7 +162,7 @@ def codegen_main(): docbook = args.generate_docbook if docbook: - gen = codegen_docbook.DocbookCodeGenerator(all_ifaces, file(docbook, 'w')); + gen = codegen_docbook.DocbookCodeGenerator(all_ifaces, docbook); ret = gen.generate() sys.exit(0) |