Mercurial > genshi > mirror
diff setup.py @ 382:2682dabbcd04 trunk
* Added documentation for the various stream event kinds.
* Move generation of HTML documentation into a custom distutils command, run by `setup.py build_doc`
* Added verification of doctest snippets in documentation, which can be run by `setup.py test_doc`
* Fixed `repr` of `Markup` instances.
author | cmlenz |
---|---|
date | Fri, 01 Dec 2006 23:43:59 +0000 |
parents | 7763f7aec949 |
children | cab6b0256019 |
line wrap: on
line diff
--- a/setup.py +++ b/setup.py @@ -12,11 +12,55 @@ # individuals. For the exact contribution history, see the revision # history and logs, available at http://genshi.edgewall.org/log/. +from distutils.cmd import Command +import doctest +from glob import glob +import os try: from setuptools import setup except ImportError: from distutils.core import setup + +class test_doc(Command): + description = 'Tests the code examples in the documentation' + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + for filename in glob('doc/*.txt'): + print 'testing documentation file %s' % filename + doctest.testfile(filename, False, optionflags=doctest.ELLIPSIS) + + +class build_doc(Command): + description = 'Builds the documentation' + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + from docutils.core import publish_cmdline + conf = os.path.join('doc', 'docutils.conf') + + for source in glob('doc/*.txt'): + dest = os.path.splitext(source)[0] + '.html' + if not os.path.exists(dest) or \ + os.path.getmtime(dest) < os.path.getmtime(source): + print 'building documentation file %s' % dest + publish_cmdline(writer_name='html', + argv=['--config=%s' % conf, source, dest]) + + setup( name = 'Genshi', version = '0.4', @@ -56,4 +100,6 @@ genshi-markup = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] genshi-text = genshi.template.plugin:TextTemplateEnginePlugin[plugin] """, + + cmdclass={'build_doc': build_doc, 'test_doc': test_doc} )