~bbl07/schooltool/schooltool

1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
1
#!/usr/bin/env python
2
#
3
# SchoolTool - common information systems platform for school administration
3688 by Gediminas Paulauskas
Update copyright year in the footer.
4
# Copyright (c) 2003-2013 Shuttleworth Foundation
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
5
#
6
# This program is free software; you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# the Free Software Foundation; either version 2 of the License, or
9
# (at your option) any later version.
10
#
11
# This program is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
# GNU General Public License for more details.
15
#
3630 by Gediminas Paulauskas
Unfuzzy translations. Do not translate task interfaces.
16
# You should have received a copy of the GNU General Public License
17
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
18
#
19
"""
20
SchoolTool setup script.
21
"""
2562.1.16 by Gediminas Paulauskas
Remove custom code to find things to include, use default behaviour.
22
3428.1.9 by Gediminas Paulauskas
Remove python 2.5 workarounds
23
import os
1475.1.18 by jinty
Make get_version a bit more OS independent and port it to i18nextract.py
24
from setuptools import setup, find_packages
2505 by Gediminas Paulauskas
Remove compiled *.mo files on clean.
25
2412.1.2 by Ignas Mikalajūnas
Make versioning system bzr buildbot and bzr buildtools compatible.
26
if os.path.exists("version.txt"):
27
    version = open("version.txt").read().strip()
28
else:
29
    version = open("version.txt.in").read().strip()
2390 by ignas
Set version number to something that builder can handle.
30
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
31
setup(
32
    name="schooltool",
33
    description="A common information systems platform for school administration.",
34
    long_description="""
35
SchoolTool is an open source school management information system.  It is
2562.1.6 by Gediminas Paulauskas
Remove the rest of REST
36
a web application, usable with an ordinary browser.
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
37
38
Any modern web browser is suitable for the web application interface.  The
39
interface degrades gracefully, so a browser that does not support CSS or
40
Javascript will be usable, although perhaps not very nice or convenient.""",
2390 by ignas
Set version number to something that builder can handle.
41
    version=version,
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
42
    url='http://www.schooltool.org',
43
    license="GPL",
2552 by Gediminas Paulauskas
Update maintainer
44
    maintainer="SchoolTool Developers",
45
    maintainer_email="schooltool-developers@lists.launchpad.net",
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
46
    platforms=["any"],
47
    classifiers=["Development Status :: 5 - Production/Stable",
48
    "Environment :: Web Environment",
49
    "Intended Audience :: End Users/Desktop",
50
    "License :: OSI Approved :: GNU General Public License (GPL)",
51
    "Operating System :: OS Independent",
52
    "Programming Language :: Python",
3559 by Gediminas Paulauskas
Add rwproperty back to requires, because plugins <= 2.4b1 need it
53
    "Programming Language :: Python :: 2",
2797 by Gediminas Paulauskas
Add future import to restore support for Python 2.5
54
    "Programming Language :: Python :: 2.6",
55
    "Programming Language :: Python :: 2.7",
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
56
    "Programming Language :: Zope",
3559 by Gediminas Paulauskas
Add rwproperty back to requires, because plugins <= 2.4b1 need it
57
    "Topic :: Education"],
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
58
    package_dir={'': 'src'},
2562.1.16 by Gediminas Paulauskas
Remove custom code to find things to include, use default behaviour.
59
    packages=find_packages('src'),
2234 by ignas
Properly declare schooltool as a namespace package.
60
    namespace_packages=["schooltool"],
3720.3.1 by Gediminas Paulauskas
Allow celery 3
61
    install_requires=['celery>=2.5',
3604 by Gediminas Paulauskas
Add redis to install_requires
62
                      'redis',
3321.1.127 by Justas Sadzevicius
Task result serving by bottle via <schooltool>/schooltool.task_results/*task_id*
63
                      'bottle',
2607 by Gediminas Paulauskas
Sort dependencies
64
                      'PasteDeploy',
65
                      'PasteScript',
3385 by Gediminas Paulauskas
Replace PIL with Pillow to fix detection of image libraries
66
                      'Pillow',
2607 by Gediminas Paulauskas
Sort dependencies
67
                      'pytz',
2718 by Gediminas Paulauskas
Update translation template.
68
                      'reportlab',
2607 by Gediminas Paulauskas
Sort dependencies
69
                      'setuptools',
70
                      'xlrd',
71
                      'xlwt',
72
                      'z3c.autoinclude',
2743 by Gediminas Paulauskas
Remove the copy of SimpleFieldValidator
73
                      'z3c.form>=2.0',
2607 by Gediminas Paulauskas
Sort dependencies
74
                      'z3c.formui',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
75
                      'z3c.macro',
2607 by Gediminas Paulauskas
Sort dependencies
76
                      'z3c.rml',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
77
                      'z3c.template',
2607 by Gediminas Paulauskas
Sort dependencies
78
                      'zc.catalog',
79
                      'zc.datetimewidget',
2253 by ignas
Untie resourcelibrary.
80
                      'zc.resourcelibrary',
2256 by ignas
Switch to KGS in trunk.
81
                      'zc.table',
2793 by Gediminas Paulauskas
Preparing release 1.6.0
82
                      'ZODB3',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
83
                      'zope.annotation',
2532.1.56 by Gediminas Paulauskas
Replace zope.app.security with zope.authentication and zope.principalregistry
84
                      'zope.authentication',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
85
                      'zope.app.applicationcontrol',
86
                      'zope.app.appsetup',
87
                      'zope.app.basicskin',
2797.2.1 by Gediminas Paulauskas
Copy zcml files from zope.app.zcmlfiles and remove dependency on it.
88
                      'zope.app.broken',
2753.1.14 by Gediminas Paulauskas
Made zope.app.apidoc dependency optional:
89
                      'zope.app.component',
90
                      'zope.app.container',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
91
                      'zope.app.dependable',
2797.2.1 by Gediminas Paulauskas
Copy zcml files from zope.app.zcmlfiles and remove dependency on it.
92
                      'zope.app.error',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
93
                      'zope.app.exception',
2608 by Gediminas Paulauskas
Add some missing dependencies
94
                      'zope.app.form',
2741 by Gediminas Paulauskas
Include license in the tarball.
95
                      'zope.app.generations>=3.5',
2797.2.1 by Gediminas Paulauskas
Copy zcml files from zope.app.zcmlfiles and remove dependency on it.
96
                      'zope.app.http',
97
                      'zope.app.locales',
98
                      'zope.app.principalannotation',
2608 by Gediminas Paulauskas
Add some missing dependencies
99
                      'zope.app.publication',
2797.2.1 by Gediminas Paulauskas
Copy zcml files from zope.app.zcmlfiles and remove dependency on it.
100
                      'zope.app.schema',
2753.1.14 by Gediminas Paulauskas
Made zope.app.apidoc dependency optional:
101
                      'zope.app.security',
2607 by Gediminas Paulauskas
Sort dependencies
102
                      'zope.app.wsgi',
2532.1.51 by Gediminas Paulauskas
Replace zope.app.publisher with zope.browser and zope.browsermenu
103
                      'zope.browser',
104
                      'zope.browsermenu',
2714 by Gediminas Paulauskas
Drop zope.app.pagetemplate dependency by using zope.browserpage or
105
                      'zope.browserpage>=3.10.1',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
106
                      'zope.cachedescriptors',
2532.1.53 by Gediminas Paulauskas
Add zope.catalog and zope.intid dependencies
107
                      'zope.catalog',
2741 by Gediminas Paulauskas
Include license in the tarball.
108
                      'zope.component>=3.8',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
109
                      'zope.configuration',
2607 by Gediminas Paulauskas
Sort dependencies
110
                      'zope.container>=3.7.2',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
111
                      'zope.contentprovider',
2753.1.1 by Gediminas Paulauskas
Depend on PIL instead of PILwoTk. It works, and we don't need to patch in
112
                      'zope.dublincore>=3.7',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
113
                      'zope.event',
3310 by Justas Sadzevicius
Add dependency on zope.file for further photos work.
114
                      'zope.file',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
115
                      'zope.filerepresentation',
2714 by Gediminas Paulauskas
Drop zope.app.pagetemplate dependency by using zope.browserpage or
116
                      'zope.formlib>=4.0',
2607 by Gediminas Paulauskas
Sort dependencies
117
                      'zope.html',
2741 by Gediminas Paulauskas
Include license in the tarball.
118
                      'zope.i18n>=3.5',
2607 by Gediminas Paulauskas
Sort dependencies
119
                      'zope.i18nmessageid',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
120
                      'zope.interface',
2532.1.53 by Gediminas Paulauskas
Add zope.catalog and zope.intid dependencies
121
                      'zope.intid',
2608 by Gediminas Paulauskas
Add some missing dependencies
122
                      'zope.keyreference',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
123
                      'zope.lifecycleevent',
2607 by Gediminas Paulauskas
Sort dependencies
124
                      'zope.location',
2714 by Gediminas Paulauskas
Drop zope.app.pagetemplate dependency by using zope.browserpage or
125
                      'zope.login',
2607 by Gediminas Paulauskas
Sort dependencies
126
                      'zope.mimetype',
2741 by Gediminas Paulauskas
Include license in the tarball.
127
                      'zope.pagetemplate>=3.5',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
128
                      'zope.password',
129
                      'zope.proxy',
2741 by Gediminas Paulauskas
Include license in the tarball.
130
                      'zope.publisher>=3.6',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
131
                      'zope.schema',
132
                      'zope.security',
2612 by Gediminas Paulauskas
Add zope.securitypolicy back to dependencies,
133
                      'zope.securitypolicy',
2607 by Gediminas Paulauskas
Sort dependencies
134
                      'zope.server',
2225 by ignas
Remove some deprecation warnings. Move dependencies out of buildout
135
                      'zope.session',
2607 by Gediminas Paulauskas
Sort dependencies
136
                      'zope.site',
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
137
                      'zope.size',
138
                      'zope.tales',
139
                      'zope.testing',
3386 by Gediminas Paulauskas
Add zope.testbrowser to dependencies, because selenium testing setup makes that
140
                      'zope.testbrowser',   # XXX for selenium extensions
3389 by Gediminas Paulauskas
Add zope.app.testing to dependencies, schooltool uses testbrowser based on it
141
                      'zope.app.testing',   # XXX to get zope.testbrowser.testing.Browser
3391 by Gediminas Paulauskas
Needs zope.traversing >= 3.13 (LP: #975687)
142
                      'zope.traversing>=3.13',
2607 by Gediminas Paulauskas
Sort dependencies
143
                      'zope.ucol',
3428.1.9 by Gediminas Paulauskas
Remove python 2.5 workarounds
144
                      'zope.viewlet'],
2610 by Gediminas Paulauskas
Add missing dependencies to setup.py, move some to test extra, and change some
145
    extras_require={'test': ['lxml',
146
                             'zope.app.testing',
147
                             'zope.copypastemove',
148
                             'zope.exceptions',
2532.1.56 by Gediminas Paulauskas
Replace zope.app.security with zope.authentication and zope.principalregistry
149
                             'zope.principalregistry',
3301.1.23 by Gediminas Paulauskas
Revert addition of selenium extra
150
                             'zope.testbrowser',
3552 by Gediminas Paulauskas
Adjust tests to changes in z3c.form >= 2.6
151
                             'z3c.form>=2.6',
3321.1.112 by Justas Sadzevicius
Need new devtools
152
                             'schooltool.devtools>=0.7.1',
3110.1.1 by Justas Sadzevicius
Simplistic Selenium testing machinery.
153
                             'selenium'],
2748.1.1 by Gediminas Paulauskas
Generate documentation using sphinx
154
                    'docs': ['Sphinx',
155
                             'z3c.recipe.sphinxdoc'],
156
                   },
2562.1.16 by Gediminas Paulauskas
Remove custom code to find things to include, use default behaviour.
157
    include_package_data=True,
2562.1.22 by Gediminas Paulauskas
Mark package as not zip_safe
158
    zip_safe=False,
2139.1.2 by ignas
Commit setup.py so that I could build the dev egg.
159
    entry_points = """
160
    [paste.app_factory]
161
    main = schooltool.paste.main:schooltool_app_factory
3321.1.127 by Justas Sadzevicius
Task result serving by bottle via <schooltool>/schooltool.task_results/*task_id*
162
    task_results = schooltool.paste.main:task_result_app_factory
2139.1.2 by ignas
Commit setup.py so that I could build the dev egg.
163
164
    [console_scripts]
2139.1.4 by ignas
Add a script to start up a schooltool instance.
165
    start-schooltool-instance = schooltool.paste.run:main
2139.1.2 by ignas
Commit setup.py so that I could build the dev egg.
166
    make-schooltool-instance = schooltool.paste.instance:make_schooltool_instance
3478.2.4 by Gediminas Paulauskas
New script, schooltool-server, to enable --pack and --restore-password
167
    schooltool-server = schooltool.app.main:main
2139.1.2 by ignas
Commit setup.py so that I could build the dev egg.
168
169
    [paste.paster_create_template]
170
    schooltool_deploy = schooltool.paste.templates:SchoolToolDeploy
2178 by ignas
Allow users to select different configurations when creating a
171
172
    [schooltool.instance_type]
3684 by Gediminas Paulauskas
Hardcode 'schooltool' as default instance type. Rename 'standard' to 'old'.
173
    old = schooltool.standard
2818 by Justas Sadzevicius
Make flourish instance the default instance for now.
174
    schooltool = schooltool.skin.flourish.instance
2178 by ignas
Allow users to select different configurations when creating a
175
2139.1.2 by ignas
Commit setup.py so that I could build the dev egg.
176
    """,
1475.1.8 by faassen
* go back to previous setup.py and restore setup.eggs.py, as we cannot
177
    )