annotate setup.py @ 212:2b0b9bb94660 trunk

Switched to using our own round() implementation. This way we can be sure the correct rounding algorithm (banker's rounding) is used on all platforms.
author jonas
date Tue, 10 Jul 2007 21:20:07 +0000
parents cdb266cd9a19
children 97b4b289e792
rev   line source
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
1 #!/usr/bin/env python
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
2 # -*- coding: utf-8 -*-
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
3 #
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
4 # Copyright (C) 2007 Edgewall Software
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
5 # All rights reserved.
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
6 #
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
7 # This software is licensed as described in the file COPYING, which
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
8 # you should have received as part of this distribution. The terms
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
9 # are also available at http://babel.edgewall.org/wiki/License.
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
10 #
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
11 # This software consists of voluntary contributions made by many
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
12 # individuals. For the exact contribution history, see the revision
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
13 # history and logs, available at http://babel.edgewall.org/log/.
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
14
12
e6ba3e878b10 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
15 from distutils.cmd import Command
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
16 import doctest
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
17 from glob import glob
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
18 import os
12
e6ba3e878b10 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
19 try:
e6ba3e878b10 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
20 from setuptools import setup
e6ba3e878b10 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
21 except ImportError:
e6ba3e878b10 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
22 from distutils.core import setup
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
23 import sys
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
24
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
25
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
26 class build_doc(Command):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
27 description = 'Builds the documentation'
98
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
28 user_options = [
116
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
29 ('force', None,
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
30 "force regeneration even if no reStructuredText files have changed"),
98
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
31 ('without-apidocs', None,
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
32 "whether to skip the generation of API documentaton"),
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
33 ]
116
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
34 boolean_options = ['force', 'without-apidocs']
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
35
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
36 def initialize_options(self):
116
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
37 self.force = False
98
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
38 self.without_apidocs = False
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
39
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
40 def finalize_options(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
41 pass
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
42
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
43 def run(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
44 from docutils.core import publish_cmdline
40
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
45 from docutils.nodes import raw
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
46 from docutils.parsers import rst
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
47
116
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
48 docutils_conf = os.path.join('doc', 'conf', 'docutils.ini')
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
49 epydoc_conf = os.path.join('doc', 'conf', 'epydoc.ini')
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
50
40
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
51 try:
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
52 from pygments import highlight
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
53 from pygments.lexers import get_lexer_by_name
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
54 from pygments.formatters import HtmlFormatter
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
55
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
56 def code_block(name, arguments, options, content, lineno,
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
57 content_offset, block_text, state, state_machine):
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
58 lexer = get_lexer_by_name(arguments[0])
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
59 html = highlight('\n'.join(content), lexer, HtmlFormatter())
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
60 return [raw('', html, format='html')]
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
61 code_block.arguments = (1, 0, 0)
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
62 code_block.options = {'language' : rst.directives.unchanged}
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
63 code_block.content = 1
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
64 rst.directives.register_directive('code-block', code_block)
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
65 except ImportError:
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
66 print 'Pygments not installed, syntax highlighting disabled'
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
67
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
68 for source in glob('doc/*.txt'):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
69 dest = os.path.splitext(source)[0] + '.html'
116
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
70 if self.force or not os.path.exists(dest) or \
1984cdac1ddb Moved doc config into a subdirectory, and added a `--force` option to the `build_doc` command.
cmlenz
parents: 98
diff changeset
71 os.path.getmtime(dest) < os.path.getmtime(source):
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
72 print 'building documentation file %s' % dest
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
73 publish_cmdline(writer_name='html',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
74 argv=['--config=%s' % docutils_conf, source,
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
75 dest])
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
76
98
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
77 if not self.without_apidocs:
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
78 try:
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
79 from epydoc import cli
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
80 old_argv = sys.argv[1:]
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
81 sys.argv[1:] = [
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
82 '--config=%s' % epydoc_conf,
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
83 '--no-private', # epydoc bug, not read from config
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
84 '--simple-term',
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
85 '--verbose'
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
86 ]
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
87 cli.cli()
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
88 sys.argv[1:] = old_argv
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
89
98
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
90 except ImportError:
f5cfd37ec37e Add `--without-apidocs` switch to `build_doc` command for quicker doc-edit/review cycles.
cmlenz
parents: 57
diff changeset
91 print 'epydoc not installed, skipping API documentation.'
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
92
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
93
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
94 class test_doc(Command):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
95 description = 'Tests the code examples in the documentation'
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
96 user_options = []
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
97
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
98 def initialize_options(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
99 pass
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
100
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
101 def finalize_options(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
102 pass
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
103
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
104 def run(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
105 for filename in glob('doc/*.txt'):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
106 print 'testing documentation file %s' % filename
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
107 doctest.testfile(filename, False, optionflags=doctest.ELLIPSIS)
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
108
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
109
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
110 setup(
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
111 name = 'Babel',
141
d11c39382f4c Bump up version number on trunk.
cmlenz
parents: 138
diff changeset
112 version = '0.9',
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
113 description = 'Internationalization utilities',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
114 long_description = \
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
115 """A collection of tools for internationalizing Python applications.""",
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
116 author = 'Edgewall Software',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
117 author_email = 'info@edgewall.org',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
118 license = 'BSD',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
119 url = 'http://babel.edgewall.org/',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
120 download_url = 'http://babel.edgewall.org/wiki/Download',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
121 zip_safe = False,
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
122
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
123 classifiers = [
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
124 'Development Status :: 4 - Beta',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
125 'Environment :: Web Environment',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
126 'Intended Audience :: Developers',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
127 'License :: OSI Approved :: BSD License',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
128 'Operating System :: OS Independent',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
129 'Programming Language :: Python',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
130 'Topic :: Software Development :: Libraries :: Python Modules',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
131 ],
54
7dbcbc3f07e0 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
132 packages = ['babel', 'babel.messages'],
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
133 package_data = {'babel': ['localedata/*.dat']},
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
134 test_suite = 'babel.tests.suite',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
135
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
136 entry_points = """
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
137 [console_scripts]
189
cdb266cd9a19 Rename command-line script to avoid conflict with the OpenBabel project. Closes #34.
cmlenz
parents: 181
diff changeset
138 pybabel = babel.messages.frontend:main
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
139
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
140 [distutils.commands]
160
23005b4efc99 Add MO file generation. Closes #21.
cmlenz
parents: 141
diff changeset
141 compile_catalog = babel.messages.frontend:compile_catalog
54
7dbcbc3f07e0 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
142 extract_messages = babel.messages.frontend:extract_messages
181
8a762ce37bf7 The frontends now provide ways to update existing translations catalogs from a template. Closes #22.
cmlenz
parents: 160
diff changeset
143 init_catalog = babel.messages.frontend:init_catalog
8a762ce37bf7 The frontends now provide ways to update existing translations catalogs from a template. Closes #22.
cmlenz
parents: 160
diff changeset
144 update_catalog = babel.messages.frontend:update_catalog
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
145
49
37bd476dafe4 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 40
diff changeset
146 [distutils.setup_keywords]
54
7dbcbc3f07e0 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
147 message_extractors = babel.messages.frontend:check_message_extractors
49
37bd476dafe4 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 40
diff changeset
148
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
149 [babel.extractors]
138
bd3b47492396 Genshi extraction method has moved to Genshi project. Closes #13.
cmlenz
parents: 116
diff changeset
150 ignore = babel.messages.extract:extract_nothing
54
7dbcbc3f07e0 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
151 python = babel.messages.extract:extract_python
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
152 """,
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
153
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
154 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc}
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
155 )
Copyright (C) 2012-2017 Edgewall Software