annotate setup.py @ 79:9a05230571f8

Implemented item 4 from #12. Set the copyright holder in the output.
author palgarvio
date Sun, 10 Jun 2007 09:39:26 +0000
parents a6183d300a6e
children a696e249467a
rev   line source
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
1 #!/usr/bin/env python
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
2 # -*- coding: utf-8 -*-
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
3 #
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
4 # Copyright (C) 2007 Edgewall Software
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
5 # All rights reserved.
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
6 #
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
7 # This software is licensed as described in the file COPYING, which
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
8 # you should have received as part of this distribution. The terms
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
9 # are also available at http://babel.edgewall.org/wiki/License.
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
10 #
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
11 # This software consists of voluntary contributions made by many
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
12 # individuals. For the exact contribution history, see the revision
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
13 # history and logs, available at http://babel.edgewall.org/log/.
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
14
12
a2c54ef107c2 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
15 from distutils.cmd import Command
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
16 import doctest
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
17 from glob import glob
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
18 import os
12
a2c54ef107c2 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
19 try:
a2c54ef107c2 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
20 from setuptools import setup
a2c54ef107c2 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
21 except ImportError:
a2c54ef107c2 * Removed pkg_resources/setuptools requirement from various places.
cmlenz
parents: 1
diff changeset
22 from distutils.core import setup
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
23 import sys
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
24
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
25
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
26 class build_doc(Command):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
27 description = 'Builds the documentation'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
28 user_options = []
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
29
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
30 def initialize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
31 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
32
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
33 def finalize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
34 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
35
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
36 def run(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
37 from docutils.core import publish_cmdline
40
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
38 from docutils.nodes import raw
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
39 from docutils.parsers import rst
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
40
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
41 docutils_conf = os.path.join('doc', 'docutils.conf')
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
42 epydoc_conf = os.path.join('doc', 'epydoc.conf')
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
43
40
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
44 try:
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
45 from pygments import highlight
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
46 from pygments.lexers import get_lexer_by_name
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
47 from pygments.formatters import HtmlFormatter
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
48
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
49 def code_block(name, arguments, options, content, lineno,
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
50 content_offset, block_text, state, state_machine):
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
51 lexer = get_lexer_by_name(arguments[0])
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
52 html = highlight('\n'.join(content), lexer, HtmlFormatter())
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
53 return [raw('', html, format='html')]
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
54 code_block.arguments = (1, 0, 0)
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
55 code_block.options = {'language' : rst.directives.unchanged}
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
56 code_block.content = 1
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
57 rst.directives.register_directive('code-block', code_block)
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
58 except ImportError:
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
59 print 'Pygments not installed, syntax highlighting disabled'
4525549aa6cc Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
60
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
61 for source in glob('doc/*.txt'):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
62 dest = os.path.splitext(source)[0] + '.html'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
63 if not os.path.exists(dest) or \
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
64 os.path.getmtime(dest) < os.path.getmtime(source):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
65 print 'building documentation file %s' % dest
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
66 publish_cmdline(writer_name='html',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
67 argv=['--config=%s' % docutils_conf, source,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
68 dest])
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
69
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
70 try:
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
71 from epydoc import cli
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
72 old_argv = sys.argv[1:]
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
73 sys.argv[1:] = [
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
74 '--config=%s' % epydoc_conf,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
75 '--no-private', # epydoc bug, not read from config
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
76 '--simple-term',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
77 '--verbose'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
78 ]
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
79 cli.cli()
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
80 sys.argv[1:] = old_argv
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
81
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
82 except ImportError:
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
83 print 'epydoc not installed, skipping API documentation.'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
84
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
85
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
86 class test_doc(Command):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
87 description = 'Tests the code examples in the documentation'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
88 user_options = []
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
89
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
90 def initialize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
91 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
92
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
93 def finalize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
94 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
95
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
96 def run(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
97 for filename in glob('doc/*.txt'):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
98 print 'testing documentation file %s' % filename
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
99 doctest.testfile(filename, False, optionflags=doctest.ELLIPSIS)
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
100
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
101
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
102 setup(
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
103 name = 'Babel',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
104 version = '0.1',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
105 description = 'Internationalization utilities',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
106 long_description = \
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
107 """A collection of tools for internationalizing Python applications.""",
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
108 author = 'Edgewall Software',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
109 author_email = 'info@edgewall.org',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
110 license = 'BSD',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
111 url = 'http://babel.edgewall.org/',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
112 download_url = 'http://babel.edgewall.org/wiki/Download',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
113 zip_safe = False,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
114
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
115 classifiers = [
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
116 'Development Status :: 4 - Beta',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
117 'Environment :: Web Environment',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
118 'Intended Audience :: Developers',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
119 'License :: OSI Approved :: BSD License',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
120 'Operating System :: OS Independent',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
121 'Programming Language :: Python',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
122 'Topic :: Software Development :: Libraries :: Python Modules',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
123 ],
54
b3395b285104 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
124 packages = ['babel', 'babel.messages'],
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
125 package_data = {'babel': ['localedata/*.dat']},
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
126 test_suite = 'babel.tests.suite',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
127
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
128 entry_points = """
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
129 [console_scripts]
54
b3395b285104 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
130 babel = babel.messages.frontend:main
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
131
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
132 [distutils.commands]
54
b3395b285104 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
133 extract_messages = babel.messages.frontend:extract_messages
b3395b285104 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
134 new_catalog = babel.messages.frontend:new_catalog
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
135
49
daf35e2ad044 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 40
diff changeset
136 [distutils.setup_keywords]
54
b3395b285104 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
137 message_extractors = babel.messages.frontend:check_message_extractors
49
daf35e2ad044 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 40
diff changeset
138
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
139 [babel.extractors]
54
b3395b285104 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
140 genshi = babel.messages.extract:extract_genshi
b3395b285104 Rename the `babel.catalog` package to `babel.messages` for consistency with the other package names.
cmlenz
parents: 52
diff changeset
141 python = babel.messages.extract:extract_python
57
a6183d300a6e * The `extract_messages` distutils command now operators on configurable input directories again, instead of the complete current directory. The `input_dirs` default to the package directories.
cmlenz
parents: 54
diff changeset
142 ignore = babel.messages.extract:extract_nothing
1
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
143 """,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
144
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
145 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc}
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
146 )
Copyright (C) 2012-2017 Edgewall Software