annotate setup.py @ 7:f4cd4d60de67

Fix usage of `write_po` in frontends (follow-up to [7]).
author cmlenz
date Wed, 30 May 2007 11:55:02 +0000
parents f71ca60f2a4a
children a2c54ef107c2
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
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
15 import doctest
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
16 from glob import glob
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
17 import os
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
18 from setuptools import find_packages, setup, Command
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
19 import sys
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
20
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
21
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
22 class build_doc(Command):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
23 description = 'Builds the documentation'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
24 user_options = []
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
25
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
26 def initialize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
27 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
28
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
29 def finalize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
30 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
31
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
32 def run(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
33 from docutils.core import publish_cmdline
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
34 docutils_conf = os.path.join('doc', 'docutils.conf')
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
35 epydoc_conf = os.path.join('doc', 'epydoc.conf')
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
36
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
37 for source in glob('doc/*.txt'):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
38 dest = os.path.splitext(source)[0] + '.html'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
39 if not os.path.exists(dest) or \
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
40 os.path.getmtime(dest) < os.path.getmtime(source):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
41 print 'building documentation file %s' % dest
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
42 publish_cmdline(writer_name='html',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
43 argv=['--config=%s' % docutils_conf, source,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
44 dest])
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
45
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
46 try:
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
47 from epydoc import cli
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
48 old_argv = sys.argv[1:]
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
49 sys.argv[1:] = [
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
50 '--config=%s' % epydoc_conf,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
51 '--no-private', # epydoc bug, not read from config
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
52 '--simple-term',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
53 '--verbose'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
54 ]
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
55 cli.cli()
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
56 sys.argv[1:] = old_argv
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
57
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
58 except ImportError:
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
59 print 'epydoc not installed, skipping API documentation.'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
60
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
61
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
62 class test_doc(Command):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
63 description = 'Tests the code examples in the documentation'
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
64 user_options = []
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
65
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
66 def initialize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
67 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
68
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
69 def finalize_options(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
70 pass
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
71
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
72 def run(self):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
73 for filename in glob('doc/*.txt'):
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
74 print 'testing documentation file %s' % filename
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
75 doctest.testfile(filename, False, optionflags=doctest.ELLIPSIS)
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
76
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
77
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
78 setup(
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
79 name = 'Babel',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
80 version = '0.1',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
81 description = 'Internationalization utilities',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
82 long_description = \
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
83 """A collection of tools for internationalizing Python applications.""",
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
84 author = 'Edgewall Software',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
85 author_email = 'info@edgewall.org',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
86 license = 'BSD',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
87 url = 'http://babel.edgewall.org/',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
88 download_url = 'http://babel.edgewall.org/wiki/Download',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
89 zip_safe = False,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
90
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
91 classifiers = [
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
92 'Development Status :: 4 - Beta',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
93 'Environment :: Web Environment',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
94 'Intended Audience :: Developers',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
95 'License :: OSI Approved :: BSD License',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
96 'Operating System :: OS Independent',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
97 'Programming Language :: Python',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
98 'Topic :: Software Development :: Libraries :: Python Modules',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
99 ],
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
100 packages = find_packages(exclude=['tests']),
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
101 package_data = {'babel': ['localedata/*.dat']},
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
102 test_suite = 'babel.tests.suite',
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
103
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
104 entry_points = """
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
105 [console_scripts]
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
106 pygettext = babel.catalog.frontend:main
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
107
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
108 [distutils.commands]
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
109 extract_messages = babel.catalog.frontend:extract_messages
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
110
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
111 [babel.extractors]
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
112 genshi = babel.catalog.extract:extract_genshi
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
113 python = babel.catalog.extract:extract_python
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
114 """,
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
115
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
116 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc}
f71ca60f2a4a Import of initial code base.
cmlenz
parents:
diff changeset
117 )
Copyright (C) 2012-2017 Edgewall Software