Mercurial > genshi > mirror
annotate setup.py @ 510:1bdccd3bda00 trunk
Use syntax highlighting on all the other doc pages, too.
author | cmlenz |
---|---|
date | Wed, 06 Jun 2007 10:41:41 +0000 |
parents | 5fbc1cde74d6 |
children | 24df908da22d |
rev | line source |
---|---|
1 | 1 #!/usr/bin/env python |
2 # -*- coding: utf-8 -*- | |
3 # | |
66
59eb24184e9c
Switch copyright to Edgewall and URLs to markup.edgewall.org.
cmlenz
parents:
27
diff
changeset
|
4 # Copyright (C) 2006 Edgewall Software |
1 | 5 # All rights reserved. |
6 # | |
7 # This software is licensed as described in the file COPYING, which | |
8 # you should have received as part of this distribution. The terms | |
230 | 9 # are also available at http://genshi.edgewall.org/wiki/License. |
1 | 10 # |
11 # This software consists of voluntary contributions made by many | |
12 # individuals. For the exact contribution history, see the revision | |
230 | 13 # history and logs, available at http://genshi.edgewall.org/log/. |
1 | 14 |
382
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
15 from distutils.cmd import Command |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
16 import doctest |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
17 from glob import glob |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
18 import os |
84
0a1843b2c096
Make dependency of the setup script on setuptools optional.
cmlenz
parents:
66
diff
changeset
|
19 try: |
145
47bbd9d2a5af
* Fix error in expression evaluation when the expression evaluates to an iterable that does not produce event tuples.
cmlenz
parents:
129
diff
changeset
|
20 from setuptools import setup |
84
0a1843b2c096
Make dependency of the setup script on setuptools optional.
cmlenz
parents:
66
diff
changeset
|
21 except ImportError: |
0a1843b2c096
Make dependency of the setup script on setuptools optional.
cmlenz
parents:
66
diff
changeset
|
22 from distutils.core import setup |
426 | 23 import sys |
1 | 24 |
382
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
25 |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
26 class build_doc(Command): |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
27 description = 'Builds the documentation' |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
28 user_options = [] |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
29 |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
30 def initialize_options(self): |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
31 pass |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
32 |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
33 def finalize_options(self): |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
34 pass |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
35 |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
36 def run(self): |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
37 from docutils.core import publish_cmdline |
508
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
38 from docutils.nodes import raw |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
39 from docutils.parsers import rst |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
40 |
426 | 41 docutils_conf = os.path.join('doc', 'docutils.conf') |
42 epydoc_conf = os.path.join('doc', 'epydoc.conf') | |
382
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
43 |
508
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
44 try: |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
45 from pygments import highlight |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
46 from pygments.lexers import get_lexer_by_name |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
47 from pygments.formatters import HtmlFormatter |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
48 |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
49 def code_block(name, arguments, options, content, lineno, |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
50 content_offset, block_text, state, state_machine): |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
51 lexer = get_lexer_by_name(arguments[0]) |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
52 html = highlight('\n'.join(content), lexer, HtmlFormatter()) |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
53 return [raw('', html, format='html')] |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
54 code_block.arguments = (1, 0, 0) |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
55 code_block.options = {'language' : rst.directives.unchanged} |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
56 code_block.content = 1 |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
57 rst.directives.register_directive('code-block', code_block) |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
58 except ImportError: |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
59 print 'Pygments not installed, syntax highlighting disabled' |
5fbc1cde74d6
Enable syntax highlighting (with Pygments) on doc page.
cmlenz
parents:
492
diff
changeset
|
60 |
382
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
61 for source in glob('doc/*.txt'): |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
62 dest = os.path.splitext(source)[0] + '.html' |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
63 if not os.path.exists(dest) or \ |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
64 os.path.getmtime(dest) < os.path.getmtime(source): |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
65 print 'building documentation file %s' % dest |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
66 publish_cmdline(writer_name='html', |
426 | 67 argv=['--config=%s' % docutils_conf, source, |
68 dest]) | |
69 | |
70 try: | |
71 from epydoc import cli | |
72 old_argv = sys.argv[1:] | |
73 sys.argv[1:] = [ | |
74 '--config=%s' % epydoc_conf, | |
75 '--no-private', # epydoc bug, not read from config | |
76 '--simple-term', | |
77 '--verbose' | |
78 ] | |
79 cli.cli() | |
80 sys.argv[1:] = old_argv | |
81 except ImportError: | |
82 print 'epydoc not installed, skipping API documentation.' | |
382
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
83 |
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
84 |
394 | 85 class test_doc(Command): |
86 description = 'Tests the code examples in the documentation' | |
87 user_options = [] | |
88 | |
89 def initialize_options(self): | |
90 pass | |
91 | |
92 def finalize_options(self): | |
93 pass | |
94 | |
95 def run(self): | |
96 for filename in glob('doc/*.txt'): | |
97 print 'testing documentation file %s' % filename | |
98 doctest.testfile(filename, False, optionflags=doctest.ELLIPSIS) | |
99 | |
100 | |
1 | 101 setup( |
230 | 102 name = 'Genshi', |
455 | 103 version = '0.5', |
230 | 104 description = 'A toolkit for stream-based generation of output for the web', |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
105 long_description = \ |
452 | 106 """Genshi is a Python library that provides an integrated set of |
107 components for parsing, generating, and processing HTML, XML or | |
108 other textual content for output generation on the web. The major | |
109 feature is a template language, which is heavily inspired by Kid.""", | |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
110 author = 'Edgewall Software', |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
111 author_email = 'info@edgewall.org', |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
112 license = 'BSD', |
230 | 113 url = 'http://genshi.edgewall.org/', |
256 | 114 download_url = 'http://genshi.edgewall.org/wiki/Download', |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
115 zip_safe = True, |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
116 |
124
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
117 classifiers = [ |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
118 'Development Status :: 4 - Beta', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
119 'Environment :: Web Environment', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
120 'Intended Audience :: Developers', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
121 'License :: OSI Approved :: BSD License', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
122 'Operating System :: OS Independent', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
123 'Programming Language :: Python', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
124 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
125 'Topic :: Software Development :: Libraries :: Python Modules', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
126 'Topic :: Text Processing :: Markup :: HTML', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
127 'Topic :: Text Processing :: Markup :: XML' |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
128 ], |
215 | 129 keywords = ['python.templating.engines'], |
452 | 130 packages = ['genshi', 'genshi.filters', 'genshi.template'], |
230 | 131 test_suite = 'genshi.tests.suite', |
84
0a1843b2c096
Make dependency of the setup script on setuptools optional.
cmlenz
parents:
66
diff
changeset
|
132 |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
133 extras_require = {'plugin': ['setuptools>=0.6a2']}, |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
1
diff
changeset
|
134 entry_points = """ |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
1
diff
changeset
|
135 [python.templating.engines] |
336
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
265
diff
changeset
|
136 genshi = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] |
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
265
diff
changeset
|
137 genshi-markup = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] |
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
265
diff
changeset
|
138 genshi-text = genshi.template.plugin:TextTemplateEnginePlugin[plugin] |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
1
diff
changeset
|
139 """, |
382
2682dabbcd04
* Added documentation for the various stream event kinds.
cmlenz
parents:
336
diff
changeset
|
140 |
492 | 141 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc} |
1 | 142 ) |