annotate setup.py @ 69:af75520471ed trunk

Message catalogs can have multiple messages with the same ID, where some of them have plural strings, and others don't. Still the same message.
author cmlenz
date Fri, 08 Jun 2007 16:16:08 +0000
parents d930a3dfbf3d
children f5cfd37ec37e
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'
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
28 user_options = []
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
29
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
30 def initialize_options(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
31 pass
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
32
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
33 def finalize_options(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
34 pass
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
35
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
36 def run(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
37 from docutils.core import publish_cmdline
40
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
38 from docutils.nodes import raw
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
39 from docutils.parsers import rst
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
40
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
41 docutils_conf = os.path.join('doc', 'docutils.conf')
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
42 epydoc_conf = os.path.join('doc', 'epydoc.conf')
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
43
40
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
44 try:
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
45 from pygments import highlight
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
46 from pygments.lexers import get_lexer_by_name
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
47 from pygments.formatters import HtmlFormatter
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
48
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
49 def code_block(name, arguments, options, content, lineno,
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
50 content_offset, block_text, state, state_machine):
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
51 lexer = get_lexer_by_name(arguments[0])
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
52 html = highlight('\n'.join(content), lexer, HtmlFormatter())
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
53 return [raw('', html, format='html')]
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
54 code_block.arguments = (1, 0, 0)
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
55 code_block.options = {'language' : rst.directives.unchanged}
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
56 code_block.content = 1
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
57 rst.directives.register_directive('code-block', code_block)
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
58 except ImportError:
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
59 print 'Pygments not installed, syntax highlighting disabled'
0739bc8e7210 Syntax highlighting for the docs.
cmlenz
parents: 12
diff changeset
60
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
61 for source in glob('doc/*.txt'):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
62 dest = os.path.splitext(source)[0] + '.html'
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
63 if not os.path.exists(dest) or \
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
64 os.path.getmtime(dest) < os.path.getmtime(source):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
65 print 'building documentation file %s' % dest
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
66 publish_cmdline(writer_name='html',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
67 argv=['--config=%s' % docutils_conf, source,
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
68 dest])
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
69
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
70 try:
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
71 from epydoc import cli
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
72 old_argv = sys.argv[1:]
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
73 sys.argv[1:] = [
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
74 '--config=%s' % epydoc_conf,
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
75 '--no-private', # epydoc bug, not read from config
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
76 '--simple-term',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
77 '--verbose'
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
78 ]
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
79 cli.cli()
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
80 sys.argv[1:] = old_argv
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
81
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
82 except ImportError:
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
83 print 'epydoc not installed, skipping API documentation.'
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
84
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
85
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
86 class test_doc(Command):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
87 description = 'Tests the code examples in the documentation'
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
88 user_options = []
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
89
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
90 def initialize_options(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
91 pass
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
92
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
93 def finalize_options(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
94 pass
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
95
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
96 def run(self):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
97 for filename in glob('doc/*.txt'):
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
98 print 'testing documentation file %s' % filename
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
99 doctest.testfile(filename, False, optionflags=doctest.ELLIPSIS)
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
100
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
101
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
102 setup(
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
103 name = 'Babel',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
104 version = '0.1',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
105 description = 'Internationalization utilities',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
106 long_description = \
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
107 """A collection of tools for internationalizing Python applications.""",
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
108 author = 'Edgewall Software',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
109 author_email = 'info@edgewall.org',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
110 license = 'BSD',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
111 url = 'http://babel.edgewall.org/',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
112 download_url = 'http://babel.edgewall.org/wiki/Download',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
113 zip_safe = False,
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
114
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
115 classifiers = [
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
116 'Development Status :: 4 - Beta',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
117 'Environment :: Web Environment',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
118 'Intended Audience :: Developers',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
119 'License :: OSI Approved :: BSD License',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
120 'Operating System :: OS Independent',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
121 'Programming Language :: Python',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
122 'Topic :: Software Development :: Libraries :: Python Modules',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
123 ],
54
7dbcbc3f07e0 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
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
125 package_data = {'babel': ['localedata/*.dat']},
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
126 test_suite = 'babel.tests.suite',
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
127
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
128 entry_points = """
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
129 [console_scripts]
54
7dbcbc3f07e0 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
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
131
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
132 [distutils.commands]
54
7dbcbc3f07e0 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
7dbcbc3f07e0 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
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
135
49
37bd476dafe4 Support a `message_extractors` keyword argument directly in `setup()`. Closes #4.
cmlenz
parents: 40
diff changeset
136 [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
137 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
138
1
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
139 [babel.extractors]
54
7dbcbc3f07e0 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
7dbcbc3f07e0 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
d930a3dfbf3d * 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
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
143 """,
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
144
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
145 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc}
7870274479f5 Import of initial code base.
cmlenz
parents:
diff changeset
146 )
Copyright (C) 2012-2017 Edgewall Software