r358 - in schooltool/trunk: . debian

Brian Sutherland jinty-guest at costa.debian.org
Wed Oct 25 17:32:47 UTC 2006


Author: jinty-guest
Date: 2006-10-25 17:32:46 +0000 (Wed, 25 Oct 2006)
New Revision: 358

Added:
   schooltool/trunk/Dependencies/
   schooltool/trunk/MANIFEST
   schooltool/trunk/Makefile.in
   schooltool/trunk/SchoolTool/
   schooltool/trunk/Support/
   schooltool/trunk/configure
   schooltool/trunk/install.py
   schooltool/trunk/setup.cfg
Removed:
   schooltool/trunk/Makefile
   schooltool/trunk/PKG-INFO
   schooltool/trunk/RELEASE.txt
   schooltool/trunk/Zope3/
   schooltool/trunk/doc/
   schooltool/trunk/ftesting.zcml
   schooltool/trunk/remove-stale-bytecode.py
   schooltool/trunk/rest-client.py
   schooltool/trunk/schooltool-server.py
   schooltool/trunk/schooltool.conf.in
   schooltool/trunk/scripts/
   schooltool/trunk/setup.py
   schooltool/trunk/src/
   schooltool/trunk/test.py
Modified:
   schooltool/trunk/README.txt
   schooltool/trunk/debian/changelog
Log:
Update to schooltool 2006.0-beta-1

Copied: schooltool/trunk/Dependencies (from rev 357, schooltool/branches/upstream/current/Dependencies)

Copied: schooltool/trunk/MANIFEST (from rev 357, schooltool/branches/upstream/current/MANIFEST)
===================================================================
--- schooltool/trunk/MANIFEST	                        (rev 0)
+++ schooltool/trunk/MANIFEST	2006-10-25 17:32:46 UTC (rev 358)
@@ -0,0 +1,1174 @@
+MANIFEST
+Support/MANIFEST
+Support/ZConfig/tests/test_cfgimports.py
+Support/ZConfig/tests/test_cmdline.py
+Support/ZConfig/tests/test_subst.py
+Support/ZConfig/tests/support.py
+Support/ZConfig/tests/test_datatypes.py
+Support/ZConfig/tests/test_schema.py
+Support/ZConfig/tests/__init__.py
+Support/ZConfig/tests/test_config.py
+Support/ZConfig/tests/test_cookbook.py
+Support/ZConfig/tests/test_loader.py
+Support/ZConfig/tests/runtests.bat
+Support/ZConfig/tests/runtests.py
+Support/ZConfig/tests/input/inner.conf
+Support/ZConfig/tests/input/outer.conf
+Support/ZConfig/tests/input/simplesections.xml
+Support/ZConfig/tests/input/library.xml
+Support/ZConfig/tests/input/base-keytype1.xml
+Support/ZConfig/tests/input/base-keytype2.xml
+Support/ZConfig/tests/input/include.conf
+Support/ZConfig/tests/input/base-datatype1.xml
+Support/ZConfig/tests/input/base-datatype2.xml
+Support/ZConfig/tests/input/simplesections.conf
+Support/ZConfig/tests/input/simple.xml
+Support/ZConfig/tests/input/base.xml
+Support/ZConfig/tests/input/simple.conf
+Support/ZConfig/tests/input/logger.xml
+Support/ZConfig/tests/library/__init__.py
+Support/ZConfig/tests/library/README.txt
+Support/ZConfig/tests/library/widget/component.xml
+Support/ZConfig/tests/library/widget/extra.xml
+Support/ZConfig/tests/library/widget/__init__.py
+Support/ZConfig/tests/library/thing/component.xml
+Support/ZConfig/tests/library/thing/__init__.py
+Support/ZConfig/tests/library/thing/extras/extras.xml
+Support/ZConfig/matcher.py
+Support/ZConfig/url.py
+Support/ZConfig/datatypes.py
+Support/ZConfig/schema.py
+Support/ZConfig/__init__.py
+Support/ZConfig/cmdline.py
+Support/ZConfig/substitution.py
+Support/ZConfig/components/__init__.py
+Support/ZConfig/components/logger/component.xml
+Support/ZConfig/components/logger/handlers.xml
+Support/ZConfig/components/logger/loghandler.py
+Support/ZConfig/components/logger/eventlog.xml
+Support/ZConfig/components/logger/abstract.xml
+Support/ZConfig/components/logger/datatypes.py
+Support/ZConfig/components/logger/__init__.py
+Support/ZConfig/components/logger/base-logger.xml
+Support/ZConfig/components/logger/logger.py
+Support/ZConfig/components/logger/handlers.py
+Support/ZConfig/components/logger/factory.py
+Support/ZConfig/components/logger/logger.xml
+Support/ZConfig/components/logger/tests/test_logger.py
+Support/ZConfig/components/logger/tests/__init__.py
+Support/ZConfig/components/basic/component.xml
+Support/ZConfig/components/basic/mapping.py
+Support/ZConfig/components/basic/__init__.py
+Support/ZConfig/components/basic/mapping.xml
+Support/ZConfig/components/basic/tests/test_mapping.py
+Support/ZConfig/components/basic/tests/__init__.py
+Support/ZConfig/scripts/zconfig
+Support/ZConfig/scripts/zconfig_schema2html
+Support/ZConfig/cfgparser.py
+Support/ZConfig/info.py
+Support/ZConfig/loader.py
+Support/zpkgsetup/install_headers.py
+Support/zpkgsetup/build_headers.py
+Support/zpkgsetup/package.py
+Support/zpkgsetup/install_lib.py
+Support/zpkgsetup/__init__.py
+Support/zpkgsetup/build.py
+Support/zpkgsetup/utils.py
+Support/zpkgsetup/setup.py
+Support/zpkgsetup/publication.py
+Support/zpkgsetup/package.xml
+Support/zpkgsetup/dist.py
+Support/zpkgsetup/build_py.py
+Support/zpkgsetup/loggingapi.py
+Support/zpkgsetup/cfgparser.py
+Support/zpkgsetup/build_ext.py
+Support/zpkgsetup/PUBLICATION.cfg
+Support/zpkgsetup/urlutils.py
+Support/zpkgsetup/module.xml
+Support/zpkgsetup/tests/test_publication.py
+Support/zpkgsetup/tests/test_package.py
+Support/zpkgsetup/tests/support.py
+Support/zpkgsetup/tests/__init__.py
+Support/zpkgsetup/tests/test_setup.py
+Support/zpkgsetup/tests/tempfileapi.py
+Support/zpkgsetup/tests/test_dist.py
+Support/zpkgsetup/tests/test_urlutils.py
+Support/zpkgsetup/tests/test_build_py.py
+Support/zpkgsetup/tests/runtests.py
+Support/zpkgsetup/tests/input/SETUP.cfg
+Support/zpkgsetup/tests/input/foo.c
+Support/zpkgsetup/tests/input/package/__init__.py
+Support/zpkgsetup/tests/input/package/datadir/justdata.py
+Support/zpkgsetup/tests/input2/Dependencies/module-collection-0.0.0/MODULE.cfg
+Support/zpkgsetup/tests/input2/Modules/module.py
+Support/zpkgsetup/tests/input2/collection/DEPENDENCIES.cfg
+Support/README.txt
+Support/setup.py
+GPL.txt
+README.txt
+SchoolTool/DEPENDENCIES.cfg
+SchoolTool/schooltooltest
+SchoolTool/PUBLICATION.cfg
+SchoolTool/SETUP.cfg
+SchoolTool/GPL.txt
+SchoolTool/README.txt
+SchoolTool/bin/mkschooltoolinst
+SchoolTool/schooltool-skel/log/README.txt
+SchoolTool/schooltool-skel/bin/test.in
+SchoolTool/schooltool-skel/bin/schooltool-server.in
+SchoolTool/schooltool-skel/var/README.txt
+SchoolTool/schooltool-skel/etc/ftesting.zcml
+SchoolTool/schooltool-skel/etc/site.zcml
+SchoolTool/schooltool-skel/etc/schooltool.conf.in
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/DEPENDENCIES.cfg
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/__init__.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/app/__init__.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/app/notes.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/app/security.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/app/cal.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/app/app.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/app/interfaces.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/relationship/relationship.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/relationship/__init__.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/relationship/uri.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/calendar/recurrent.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/schoolbell/calendar/__init__.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schoolbell-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/configure.zcml
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/version.txt
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/xmlparsing.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/tests/test_xmlparsing.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/tests/test_client.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/tests/__init__.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/tests/test_common.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/__init__.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/common.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/client.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/schooltool.pot
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/schoolbell.pot
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ms/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/uk/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/yi/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/yi/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/es_CL/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fa/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fa/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ja/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fi/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fi/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fr_FR/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/nb/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/nb/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/bn/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ne/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fr/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fr/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/nl/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/nl/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/en_GB/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fr_CA/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/nn/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/no/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/vi/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ro/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ro/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ca/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ca/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ru/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ru/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pt_PT/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ka/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ka/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/es_PE/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/de_CH/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/gl/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/cs/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/cs/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ko/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/sk/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/sq/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/sr/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/da/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/st/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/sv/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/sv/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/de/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/de/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/he/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/he/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/es_ES/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pa/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/hi/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/hi/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/de_DE/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/nl_NL/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ta/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pt_BR/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pt_BR/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pl/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pl/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/es_MX/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/hu/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/hu/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/es_US/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/tl/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/tl/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/lt/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/lt/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/lv/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pt/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/pt/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/tr/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/tr/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/af/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/af/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/en_AU/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/id/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/id/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/am/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/an/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/el/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/el/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/zh_CN/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/zh_CN/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/en/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/en/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ar/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ar/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/es/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/es/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/ml/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/et/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/et/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/en_US/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/eu/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/eu/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/is/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/it/LC_MESSAGES/schooltool.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/it/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/locales/fr_BE/LC_MESSAGES/schoolbell.po
+Dependencies/schooltool-SchoolTool-2006.0-beta1/schooltool/DEPENDENCIES.cfg
+Dependencies/schooltool-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/introspector.css
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/code_menu.pt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/restdoc.txt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/restdoc_macros.pt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/DEPENDENCIES.cfg
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/restmenu.pt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/harrow.png
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/configure.zcml
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/restdoc.pt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/apidoc.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/apidoc.css
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/__init__.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/modules.pt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/tests.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/devmode-overrides.zcml
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/overrides.zcml
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/restdoc.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/skin.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/SETUP.cfg
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/ftests.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/devmode.txt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/varrow.png
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/devmode.pt
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/devmode-configure.zcml
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/devmode.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/devmode.css
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/switch.js
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/schooltool.devmode/box-bottom.png
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.devmode-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/config-schema.xml
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/membership.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/DEPENDENCIES.cfg
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/configure.zcml
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/security.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/cal.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/SETUP.cfg
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/security.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/interfaces.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/booking.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/app.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/overlay.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/relationships.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/main.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/README.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/security.zcml
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/configure.zcml
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/pdfcal.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/testing.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/interfaces.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/cal.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/app.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/overlay.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/csvimport.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/skin.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/test_csvimport.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/test_pdfcal.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/test_cal.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/test_app.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/test_overlay.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/test_browser.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/tests/test_skin.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/cal-security.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/deletion.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/brokenview-ftesting.zcml
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/personinstructor.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/ttschema-wizard.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/login.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/timetable-events.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/ttschema.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/setup.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/system-objects.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/undead-calendar-overlays.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/errors.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/app.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/test_all.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/cal-recurrence.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/cal-booking.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/help.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/notes.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/cal.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/composite-timetables.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/section-booking.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/membership.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/README.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/navigation.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/schedule-single-student.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/timetabling.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-1-tiny.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-1.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-2.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-3.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-1.dot
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-4.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-2.dot
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-5.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-3.dot
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard.dot
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-4.dot
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-6.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-5.dot
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-6.dot
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/update-images.sh
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-2-tiny.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-3-tiny.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-4-tiny.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-5-tiny.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/ftests/images/ttschema-wizard-6-tiny.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/month.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/day.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/year.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/week.png
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/calwidget/calendar.css
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/calwidget/calendar.js
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/calwidget/README.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/resources/calwidget/icon.gif
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/javascript_viewlet.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/recevent_delete.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/container_delete.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/cal_atom.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/index.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/login.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/calendar_overlay.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/cal_monthly.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/timetables-csvimport.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/calendar_macros.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/cal_daily.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/event.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/calendar_selection.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/cal_weekly.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/cal_yearly.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/css_viewlet.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/application_preferences.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/event_booking.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/event_booking_viewlet.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/event_add.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/edit_relationships.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/browser/templates/event_info_viewlet.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/test_overlay.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/empty.conf
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/sample.conf
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/test_cal.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/test_app.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/test_security.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/test_main.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/test_relationships.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/tests/test_booking.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/configure.zcml
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/errors.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/testing.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/interfaces.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/app.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/relationships.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/tests/test_errors.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/tests/test_rest.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/tests/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/tests/test_app.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/tests/test_relationships.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/composite-timetables.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/relationships.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/__init__.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/notes.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/system-objects.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/errors.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/timetabling.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/app.txt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/ftests/test_all.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/templates/link.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/templates/acl.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/templates/app.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/templates/aoc.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/schooltool.app/rest/templates/relationships.pt
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.app-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/DEPENDENCIES.cfg
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/registry.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/__init__.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/util.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/analyze.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/test.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/setup.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/tests.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/functional.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/schooltool.testing/README.txt
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.testing-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/security.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/tests.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/requirement-configure.zcml
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/grades.txt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/DEPENDENCIES.cfg
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/configure.zcml
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/__init__.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/requirement.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/evaluation.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/SETUP.cfg
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/testing.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/scoresystem.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/interfaces.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/security.zcml
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/README.txt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/requirement.pt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/ftests.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/configure.zcml
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/subthread.pt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/requirement.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/__init__.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/scoresystemwidget.pt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/scoresystem.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/treenode.pt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/tests.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/README.txt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/schooltool.requirement/browser/scoresystem.txt
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.requirement-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/DEPENDENCIES.cfg
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/configure.zcml
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/batching-ftesting.zcml
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/__init__.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/macros.pt
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/batch.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/browser.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/interfaces.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/README.txt
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/SETUP.cfg
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/tests/test_batch.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/tests/__init__.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/tests/test_browser.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/multibatching.txt
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/configure.zcml
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/__init__.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/batching.txt
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/test_all.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/sample/__init__.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/sample/multiview.pt
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/schooltool.batching/ftests/sample/view.pt
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.batching-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/sampledata.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/DEPENDENCIES.cfg
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/configure.zcml
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/__init__.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/interfaces.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/security.zcml
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/resource.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/tests/test_sampledata.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/tests/__init__.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/tests/test_resource.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/browser/configure.zcml
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/browser/__init__.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/browser/resource.pt
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/browser/tests.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/browser/csvimport.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/browser/resource.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/browser/resource-csvimport.pt
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/rest/configure.zcml
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/rest/__init__.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/rest/resource.pt
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/rest/tests.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/schooltool.resource/rest/resource.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.resource-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/DEPENDENCIES.cfg
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/configure.zcml
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/preference.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/__init__.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/interfaces.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/utility.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/security.zcml
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/person.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/tests/test_person.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/tests/__init__.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/csvimport.txt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/ftests.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/password.txt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/person-csvimport.pt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/configure.zcml
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/__init__.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/tests.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/csvimport.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/container_contents.rst
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/person_preferences.pt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/person_add.txt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/person.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/browser/person_container_delete.pt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/configure.zcml
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/preference.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/__init__.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/person.pt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/tests.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/person-preferences.pt
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/interfaces.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/schooltool.person/rest/person.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.person-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.widget-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.widget-SchoolTool-2006.0-beta1/schooltool.widget/__init__.py
+Dependencies/schooltool.widget-SchoolTool-2006.0-beta1/schooltool.widget/password.py
+Dependencies/schooltool.widget-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.widget-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/configure.zcml
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/__init__.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/browser.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/interfaces.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/README.txt
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/setupdata.pt
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/generator.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/tests/test_browser.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/tests/__init__.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/schooltool.setupdata/tests/test_generator.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.setupdata-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.setup-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.setup-SchoolTool-2006.0-beta1/schooltool.setup/mkschooltoolinst.py
+Dependencies/schooltool.setup-SchoolTool-2006.0-beta1/schooltool.setup/DEPENDENCIES.cfg
+Dependencies/schooltool.setup-SchoolTool-2006.0-beta1/schooltool.setup/__init__.py
+Dependencies/schooltool.setup-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.setup-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/test_sampledata.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/sampledata.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/event_titles.txt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/DEPENDENCIES.cfg
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/configure.zcml
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/__init__.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/interfaces.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/utility.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/README.txt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/person.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/schooldata_view.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/personform.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/demographics.txt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/configure.zcml
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/__init__.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/search.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/menu_macros.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/edit_form.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/table.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/demographics_macros.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/ftests.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/person_add.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/schooldata_edit.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/nameinfo_view.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/table.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/schooltool.demographics/browser/display_form.pt
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.demographics-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/metadirectives.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/metaconfigure.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/configure.zcml
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/__init__.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/policy.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/crowds.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/customisation.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/interfaces.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/meta.zcml
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/README.txt
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/tests/test_policy.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/tests/__init__.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/tests/test_crowds.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/tests/test_customisation.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/tests/test_metaconfigure.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/__init__.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/views.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/configure.zcml
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/tests/test_views.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/tests/__init__.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/ftests/policy_table.txt
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/ftests/__init__.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/ftests/helpers.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/ftests/test_all.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/templates/access_control_viewlet.pt
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/schooltool.securitypolicy/browser/templates/access_control.pt
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.securitypolicy-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/gradebook-configure.zcml
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/activity.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/DEPENDENCIES.cfg
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/category.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/gradebook.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/configure.zcml
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/__init__.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/interfaces.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/README.txt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/SETUP.cfg
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/statistic.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/tests/test_gradebook.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/tests/__init__.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/configure.zcml
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/ftests.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/activity.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/gradebook_grade.pt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/category.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/gradebook.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/gradebook_grade_student.pt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/gradebook_overview.pt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/__init__.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/categories.pt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/README.txt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/gradebook_grade_activity.pt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/schooltool.gradebook/browser/activities_overview.pt
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.gradebook-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/metadirectives.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/metaconfigure.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/DEPENDENCIES.cfg
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/configure.zcml
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/__init__.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/interfaces.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/meta.zcml
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/vocabulary.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/metadirectives.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/metaconfigure.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/optionstorage.pt
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/configure.zcml
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/__init__.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/meta.zcml
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/widgets.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/optionstorage/browser/optiondict.pt
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/setup.py
+Dependencies/optionstorage-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/sampledata.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/booking.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/course-configure.zcml
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/DEPENDENCIES.cfg
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/configure.zcml
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/__init__.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/course.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/interfaces.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/section.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/security.zcml
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/SETUP.cfg
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/tests/test_sampledata.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/tests/__init__.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/tests/test_course.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/tests/test_booking.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/configure.zcml
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/__init__.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/course.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/tests.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/section.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/csvimport.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/section_edit.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/course.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/section.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/course_container.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/coursesviewlet.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/course-csvimport.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/edit_relationships.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/section_container.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/browser/templates/section_add.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/rest/configure.zcml
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/rest/course.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/rest/__init__.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/rest/section.pt
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/rest/course.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/rest/tests.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/schooltool.course/rest/section.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.course-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/DEPENDENCIES.cfg
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve8.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve9.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/__init__.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve10.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve11.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve12.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve13.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve14.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve15.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve16.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve17.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve18.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve1.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve2.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve3.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve4.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve5.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve6.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/evolve7.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve18.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve9.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/__init__.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve1.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve10.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve11.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve12.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve14.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve15.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve6.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve16.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve7.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve17.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/schooltool.generations/tests/test_evolve8.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.generations-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/breadcrumbs.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/error.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/configure.zcml
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/__init__.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/form.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/interfaces.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/macros.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/skin.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/table.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/tests/test_breadcrumbs.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/tests/test_error.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/tests/__init__.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/tests/test_skin.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/delete.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/logo.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/private-note-head-r.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/layout.css
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/next.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/toolbar-background-hover.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/note-body-l.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/favicon.ico
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/previous.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/schooltool.js
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/note-head-l.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/icon.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/toolbar-background.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/note-body-r.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/private-note-body-l.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/printer.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/note-head-r.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/schooltool.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/private-note-head-l.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/sidebar-background.png
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/private-note-body-r.gif
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/resources/schooltool.css
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/formlib_macros.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/simple_edit.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/navigationViewlet.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/navigation.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/actionsViewlet.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/actions.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/simple_add.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/edit_form.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/view_macros.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/generic_macros.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/unauthorized.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/container.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/table.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/widget_macros.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/error.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/table_macros.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/schooltool.skin/templates/notfound.pt
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.skin-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/annotatable.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/objectevents.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/DEPENDENCIES.cfg
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/configure.zcml
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/__init__.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/uri.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/relationship.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/interfaces.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/README.txt
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/tests/test_objectevents.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/tests/test_uri.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/tests/__init__.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/tests/test_relationship.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/schooltool.relationship/tests/test_annotatable.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.relationship-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/__init__.py
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/help.css
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/help-configure.zcml
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/help-meta.zcml
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/DEPENDENCIES.cfg
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/configure.zcml
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/helplink.pt
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/helptopic.pt
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/tests.py
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/browser.py
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/meta.zcml
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/README.txt
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/schooltool.help/SETUP.cfg
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.help-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/DEPENDENCIES.cfg
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/vcal_dict.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/recurrent.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/simple.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/interfaces.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/__init__.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/utils.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/icalendar.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/generate_vcal_dict.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/vzic.patch
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/browser.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/timezones.txt
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/README.txt
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/mixins.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/test_recurrent.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/__init__.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/test_icalendar.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/test_generate_vcal_dict.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/test_schooltool.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/sample.ics
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/Europe/Amsterdam.ics
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/schooltool.calendar/tests/Europe/Vilnius.ics
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.calendar-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/level-configure.zcml
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/DEPENDENCIES.cfg
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/configure.zcml
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/__init__.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/promotion.xpdl
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/level.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/SETUP.cfg
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/sampledata.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/testing.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/record.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/interfaces.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/README.txt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/promotion.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/configure.zcml
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/level.txt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/promotion.txt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/__init__.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/level.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/tests.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/record.txt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/level.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/ftests.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/record.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/record.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/disconnectedlevelerror_info.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/level_validation.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/promotion.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/README.txt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/levellooperror_info.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/browser/promotion.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/tests/test_sampledata.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/tests/__init__.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/tests/test_level.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/configure.zcml
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/ftests.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/history.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/setleveloutcome.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/README.txt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/level.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/selectinitiallevel.pt
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/record.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/__init__.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/level.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/tests/test_record.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/tests/__init__.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/schooltool.level/rest/tests/test_level.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.level-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/sampledata.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/DEPENDENCIES.cfg
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/configure.zcml
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/__init__.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/model.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/schema.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/source.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/interfaces.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/timetable-configure.zcml
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/README.txt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/SETUP.cfg
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/term.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/tests/test_sampledata.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/tests/__init__.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/tests/test_model.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/tests/test_schema.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/tests/test_source.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/tests/test_timetable.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/configure.zcml
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/ttwizard.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/__init__.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/schema.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/tests/test_timetable.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/tests/specialdays.txt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/tests/__init__.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/tests/test_schema.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/tests/test_ttwizard.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/ttwizard_slottimes.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/schooltt-delete.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/advancedtts.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/timetable_list.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/timetable.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/ttwizard.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/simpletts.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/section-timetable-setup.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/timetable-schema-container.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/person-timetable-setup.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/ttwizard_homeroom.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/specialday_select.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/ttwizard_choice.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/specialday_change.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/ttwizard_period_order1.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/timetableschema.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/ttwizard_period_order2.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/browser/templates/ttwizard_form.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/configure.zcml
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/__init__.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/schema.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/tests/test_schema.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/tests/test_rest.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/tests/__init__.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/templates/timetables.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/templates/timetable.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/schooltool.timetable/rest/templates/timetable_schema.pt
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.timetable-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/schooltool.traverser/DEPENDENCIES.cfg
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/schooltool.traverser/traverser.py
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/schooltool.traverser/__init__.py
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/schooltool.traverser/tests.py
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/schooltool.traverser/browser.py
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/schooltool.traverser/interfaces.py
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/schooltool.traverser/README.txt
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.traverser-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/DEPENDENCIES.cfg
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/note_add.pt
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/__init__.py
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/rest.py
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/note-configure.zcml
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/configure.zcml
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/rest_notes.pt
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/browser.py
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/tests.py
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/interfaces.py
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/notes.pt
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/note.py
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/schooltool.note/SETUP.cfg
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.note-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/publication.xpdl
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/process.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/xpdl.txt
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/__init__.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/tests.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/interfaces.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/README.txt
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/xpdl.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/attributeintegration.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/adapter/integration.txt
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/adapter/__init__.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/adapter/tests.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/zope.wfmc/adapter/integration.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/setup.py
+Dependencies/zope.wfmc-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/last_names.txt
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/configure.zcml
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/__init__.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/name.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/first_names.txt
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/browser.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/interfaces.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/README.txt
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/generator.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/sampledata.pt
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/tests/test_browser.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/tests/__init__.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/tests/test_name.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/tests/test_generator.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/ftests/sampledata.txt
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/ftests/__init__.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/schooltool.sampledata/ftests/test_all.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.sampledata-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/sampledata.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/group.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/DEPENDENCIES.cfg
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/configure.zcml
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/__init__.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/interfaces.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/security.zcml
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/tests/test_sampledata.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/tests/test_group.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/tests/__init__.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/group-csvimport.pt
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/groupsviewlet.pt
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/__init__.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/group.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/configure.zcml
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/tests.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/csvimport.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/browser/group.pt
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/rest/__init__.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/rest/group.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/rest/configure.zcml
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/rest/tests.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/schooltool.group/rest/group.pt
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.group-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/metaconfigure.py
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/publication.xpdl
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/zcml.txt
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/configure.zcml
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/__init__.py
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/xpdl2zcml.py
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/tests.py
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/meta.zcml
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/SETUP.cfg
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/zope.app.wfmc/zope.app.wfmc-configure.zcml
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/setup.py
+Dependencies/zope.app.wfmc-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.utility-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.utility-SchoolTool-2006.0-beta1/schooltool.utility/__init__.py
+Dependencies/schooltool.utility-SchoolTool-2006.0-beta1/schooltool.utility/utility.py
+Dependencies/schooltool.utility-SchoolTool-2006.0-beta1/schooltool.utility/ftests/test_utility.py
+Dependencies/schooltool.utility-SchoolTool-2006.0-beta1/schooltool.utility/ftests/__init__.py
+Dependencies/schooltool.utility-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.utility-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/sampledata.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/sparkline.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/DEPENDENCIES.cfg
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/configure.zcml
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/__init__.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/explanation.xpdl
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/interfaces.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/attendance-configure.zcml
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/README.txt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/attendance.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/SETUP.cfg
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/tests/test_sampledata.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/tests/__init__.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/tests/test_attendance.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/tests/test_sparkline.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/configure.zcml
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/sparkline.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/attendance.css
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/__init__.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/attendance.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/tests/__init__.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/tests/test_attendance.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/tests/test_sparkline.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/ftests/__init__.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/ftests/student-attendance.txt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/ftests/attendance-forms.txt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/ftests/workflow.txt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/ftests/test_all.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/controlpanel.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/real_time.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/retro.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/controlpanelViewlet.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/section-attendance-viewlet.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/attendance_preferences.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/no_section_meeting.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/schooltool.attendance/browser/templates/student-attendance.pt
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.attendance-SchoolTool-2006.0-beta1/setup.cfg
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/MANIFEST
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/sampledata.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/daterange.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/term-configure.zcml
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/DEPENDENCIES.cfg
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/configure.zcml
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/__init__.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/interfaces.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/README.txt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/SETUP.cfg
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/term.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/tests/test_sampledata.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/tests/__init__.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/tests/test_term.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/term-container-delete.pt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/emergency_select.pt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/emergency2.pt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/configure.zcml
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/emergency.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/__init__.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/term_add_edit.pt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/term-container.pt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/term.pt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/tests.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/termrenderer.txt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/emergencydays.txt
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/browser/term.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/rest/configure.zcml
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/rest/__init__.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/rest/tests.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/schooltool.term/rest/term.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/setup.py
+Dependencies/schooltool.term-SchoolTool-2006.0-beta1/setup.cfg
+install.py
+configure
+Makefile.in
+setup.cfg

Deleted: schooltool/trunk/Makefile
===================================================================
--- schooltool/trunk/Makefile	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/Makefile	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,128 +0,0 @@
-#!/usr/bin/make
-#
-# Makefile for SchoolTool
-#
-# $Id: Makefile 5764 2006-02-18 14:49:26Z jinty $
-
-PYTHON=python
-TESTFLAGS=-w
-POT=src/schooltool/locales/schooltool.pot
-SBPOT=src/schoolbell/app/locales/schoolbell.pot
-PO=$(wildcard src/schooltool/locales/*/LC_MESSAGES/*.po)
-SBPO=$(wildcard src/schoolbell/app/locales/*/LC_MESSAGES/*.po)
-PYTHONPATH=src:Zope3/src
-
-.PHONY: all
-all: build
-
-Zope3:
-	svn co svn://svn.zope.org/repos/main/Zope3/branches/3.2 Zope3
-
-.PHONY: build
-build: Zope3
-	[ ! -d Zope3 ] || cd Zope3 && $(PYTHON) setup.py build_ext -i
-	$(PYTHON) setup.py build
-	$(PYTHON) remove-stale-bytecode.py
-
-.PHONY: clean
-clean:
-	find . \( -path './src/*.mo' -o -name '*.o' \
-	         -o -name '*.py[co]' \) -exec rm -f {} \;
-	rm -rf build
-	rm -rf rosetta-schoolbell-ui
-	rm -f rosetta-schoolbell-ui.tar.gz
-
-.PHONY: realclean
-realclean: clean
-	find . \( -name '*.so' -o -name '*.pyd' \) -exec rm -f {} \;
-	rm -f Data.fs* *.csv tags ID *.log
-	rm -f scripts/import-sampleschool
-	rm -f MANIFEST
-	rm -rf dist
-
-.PHONY: test
-test: build
-	$(PYTHON) test.py $(TESTFLAGS) -s src/schooltool
-
-.PHONY: testall
-testall: build
-	$(PYTHON) test.py $(TESTFLAGS)
-
-.PHONY: ftest
-ftest: build
-	$(PYTHON) test.py $(TESTFLAGS) -s src/schooltool -f
-
-.PHONY: run
-run: build
-	$(PYTHON) schooltool-server.py
-
-.PHONY: coverage
-coverage: build
-	rm -rf coverage
-	$(PYTHON) test.py $(TESTFLAGS) --coverage -s src/schooltool
-
-.PHONY: coverage-report
-coverage-report:
-	@cd coverage && ls schooltool* | grep -v tests | xargs grep -c '^>>>>>>' | grep -v ':0$$'
-
-.PHONY: coverage-report-list
-coverage-report-list:
-	@cd coverage && ls schooltool* | grep -v tests | xargs grep -l '^>>>>>>'
-
-.PHONY: edit-coverage-reports
-edit-coverage-reports:
-	@cd coverage && $(EDITOR) `ls schooltool* | grep -v tests | xargs grep -l '^>>>>>>'`
-
-.PHONY: vi-coverage-reports
-vi-coverage-reports:
-	@cd coverage && vi '+/^>>>>>>/' `ls schooltool* | grep -v tests | xargs grep -l '^>>>>>>'`
-
-Zope3/principals.zcml:
-	cp Zope3/sample_principals.zcml $@
-
-Zope3/package-includes/schoolbell-configure.zcml:
-	echo '<include package="schoolbell.app" />' > $@
-
-Zope3/package-includes/schooltool-configure.zcml:
-	echo '<include package="schooltool" />' > $@
-
-.PHONY: dist
-dist: realclean build update-translations clean
-	rm -rf dist
-	find . -name '*.py[dco]' -exec rm -f {} \;
-	$(PYTHON) setup.py sdist --formats=schooltooltgz
-
-.PHONY: signtar
-signtar: dist
-	md5sum dist/school*.tar.gz > dist/md5sum
-	gpg --clearsign dist/md5sum
-	mv dist/md5sum.asc dist/md5sum
-
-.PHONY: extract-translations
-extract-translations: build
-	# here for backwards compatibility only,
-	# setup.py does the work!
-
-.PHONY: update-translations
-update-translations:
-	set -e; for f in $(PO); do			\
-	     msgmerge -U $$f $(POT);		\
-	     msgfmt -o $${f%.po}.mo $$f;	\
-	done
-	set -e; for f in $(SBPO); do			\
-	     msgmerge -U $$f $(SBPOT);		\
-	     msgfmt -o $${f%.po}.mo $$f;	\
-	done
-
-rosetta-schooltool.tar.gz:
-	wget $(TRANSLATION) && touch `basename $(TRANSLATION)`
-
-rosetta-schooltool: rosetta-schooltool.tar.gz
-	tar -xmzf rosetta-schooltool.tar.gz
-
-src/schooltool/locales/%/LC_MESSAGES/schooltool.po: rosetta-schooltool
-	mkdir -p `dirname $@`
-	cp rosetta-schooltool/$*.po $@
-
-.PHONY: get-rosetta-translations
-get-rosetta-translations: rosetta-schooltool $(foreach locale,$(basename $(notdir $(wildcard rosetta-schooltool/*.po))),src/schooltool/locales/$(locale)/LC_MESSAGES/schooltool.po)

Copied: schooltool/trunk/Makefile.in (from rev 357, schooltool/branches/upstream/current/Makefile.in)
===================================================================
--- schooltool/trunk/Makefile.in	                        (rev 0)
+++ schooltool/trunk/Makefile.in	2006-10-25 17:32:46 UTC (rev 358)
@@ -0,0 +1,27 @@
+# Makefile.in for schooltool.app 2006.0-beta1
+#
+# This makefile provides two interesting targets:
+#
+#     build    build the software
+#     install  install the software
+
+default: build
+
+PYTHON=@PYTHON@
+TESTOPTS=-v
+
+prefix=@prefix@
+
+.PHONY: build
+
+build:
+	$(PYTHON) install.py -q build
+
+# The "install" target skips the distutils build step since that's
+# handled via the dependency on the build target.
+#
+install: build
+	$(PYTHON) install.py -q install --skip-build --home "$(prefix)"
+
+check test: build
+	$(PYTHON) test.py $(TESTOPTS)

Deleted: schooltool/trunk/PKG-INFO
===================================================================
--- schooltool/trunk/PKG-INFO	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/PKG-INFO	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,37 +0,0 @@
-Metadata-Version: 1.0
-Name: schooltool
-Version: 0.11.4
-Summary: A common information systems platform for school administration.
-Home-page: http://www.schooltool.org
-Author: SchoolTool development team
-Author-email: schooltool-dev at schooltool.org
-License: GPL
-Description: 
-        SchoolTool is an open source school management information system.  It is
-        a distributed client/server system.  The SchoolTool server presents two
-        interfaces to clients:
-        
-        - a traditional web application interface, usable with an ordinary browser.
-        
-        - HTTP-based programming interface suitable for fat clients, adhering to
-        the Representational State Transfer (REST) architectural style (see
-        http://rest.blueoxen.net/).
-        
-        The web application interface is the primary one.  The RESTive interface is
-        there for potential interoperability with other systems and fat clients to
-        perform data entry that is inconvenient to do via the web application
-        interface.
-        
-        Any modern web browser is suitable for the web application interface.  The
-        interface degrades gracefully, so a browser that does not support CSS or
-        Javascript will be usable, although perhaps not very nice or convenient.
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Web Environment
-Classifier: Intended Audience :: End Users/Desktop
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Zope
-Classifier: Topic :: Education
-Classifier: Topic :: Office/Business :: Scheduling

Modified: schooltool/trunk/README.txt
===================================================================
--- schooltool/trunk/README.txt	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/README.txt	2006-10-25 17:32:46 UTC (rev 358)
@@ -10,6 +10,16 @@
 Bug tracker: http://issues.schooltool.org/
 
 
+Default Login and Password
+--------------------------
+
+Username: manager
+Password: schooltool
+
+You should change the password after your first login by clicking on 'SchoolTool
+Manager' in the top bar and then 'Edit Info' in the left sidebar.
+
+
 Overview
 --------
 
@@ -41,68 +51,79 @@
 -------------------
 
 - Python 2.4 (http://www.python.org/)
-  (Debian users will need python2.4 and python2.4-xml packages)
+  (Debian users will need either python2.4 and python2.4-xml packages)
 
 - libxml2 Python bindings (http://xmlsoft.org/).  Windows users can find
   binaries here:  http://users.skynet.be/sbi/libxml-python/
 
+- the Python Imaging Library (PIL) (http://www.pythonware.com/products/pil/)
+
+- (usually included) Zope 3.2 (http://www.zope.org/Products/Zope3)
+  In most cases the current Zope is included with a SchoolTool download,
+  the exception being a "minimal" tarball distribution.
+
 - (optional) the ReportLab Toolkit (http://www.reportlab.org), and
   Arial and Times New Roman TrueType fonts.  ReportLab is only needed if
   you want to generate PDF calendars.  To enable PDF support you will
   need to specify the path to fonts in the configuration file.
 
-- Development environment and a C compiler
-  (pre-compiled binaries are available for Windows users at the SchoolTool
-  website)
 
+Building and installing SchoolTool from a source tarball
+--------------------------------------------------------
 
-Building SchoolTool
--------------------
+From the un-packed tarball you can use the familiar ./configure; make;
+make install dance. So, going through it:
 
-Run 'make build update-translations' to build the necessary extension modules
-and translations.  You will need to have gettext installed to compile the
-translations.
+$ ./configure --prefix=${libs}
 
-It is a good idea to run 'make test' and 'make ftest' to check if all the
-essential unit and functional tests pass.
+where ${libs} is the location where you want to install the libraries
+(it can be anywhere).  For testing, ${libs} can simply be a directory
+in your home.  Otherwise you might want this to be /usr/local, /opt,
+or some other traditional location.
 
+$ make
+$ make install
 
-Installing and Configuring with Distutils (optional)
-----------------------------------------------------
+Change directory to the installed libraries:
 
-WARNING: distutils does not yet take care of removing old packages or ensuring
-that dependencies are correct. If you don't know how to resolve these issues
-manually, you should probably use one of the packages or run SchoolTool from
-an unpacked tarball/subversion checkout.
+$ cd ${libs}
 
-It is possible to install SchoolTool and SchoolBell using the python distutils.
-To do this, you have to use one of the distributed tarballs/zip files, which
-you unpack in a directory with the tools appropriate to your OS. First, it is
-necessary to install the version of Zope included with the tarballs, this can
-be done by running
+The next step requires an up to date install of the Python setuputils.  See:
 
-python setup.py install
+http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install
 
-from the Zope3/ directory included with the SchoolBell distribution. From the
-top level directory, the commands
+$ PYTHONPATH=lib/python easy_install -f http://download.zope.org/distribution --install-dir lib/python zc.table zc.datetimewidget hurry.query
 
-python setup.py install (inside the unpacked schoolbell tarball/zip)
-python setup.py install (inside the unpacked schooltool tarball/zip)
+Now from the installed libraries, we can test the installation by running:
 
-will install SchoolBell and SchoolTool respectively. Note that SchoolTool
-depends on SchoolBell, so you will have to install both if you want to run
-SchoolTool.
+$ ./bin/schooltooltest -ufv1
 
-Finally, to setup a SchoolBell / SchoolTool instance, copy the installed
-script, /usr/bin/schooltool, into a separate directory and create a config file
-with the name of the script and an extension .conf. A good template can be
-found in the top level of the tarball (.conf.in). Running this script will then
-run an instance in that directory.
+Then create a schooltool instance (${instance} is the directory to create the
+instance in):
 
-Those interested in installing into a non-standard location should investigate
-the --paths and --default-config option for the install distutils commands.
+$ ./bin/mkschooltoolinst -d${instance}
 
+Change to the instance and test it:
 
+$ cd ${instance}
+$ ./bin/test -ufv --testschooltool
+
+Then you can start the server:
+
+$ ./bin/schooltool-server
+
+
+Building SchoolTool from a subversion checkout
+----------------------------------------------
+
+Run 'make build extract-translations update-translations' to build the
+necessary extension modules and translations.  You will need to have gettext
+installed to compile the translations.
+
+It is a good idea to run 'make test' and 'make ftest' to check if all the
+essential unit and functional tests pass.
+
+
 Running SchoolTool
 ------------------
 
@@ -130,12 +151,11 @@
 connect to it with a web browser.
 
 
-Project structure
------------------
+Project structure (subversion checkout only)
+--------------------------------------------
 
   GPL                   the GNU General Public License, version 2
   README                this file
-  README.schoolbell     README for SchoolBell
   RELEASE               release notes for the latest release
 
   Makefile              makefile for building extension modules
@@ -148,8 +168,8 @@
   schooltool.conf.in    sample configuration file
 
   build/                temporary files are placed here during build process
-  coverage/             unit test coverage reports are placed here
-  debian/               Debian packaging support
+  coverage/             unit test coverage reports (produced by make coverage)
+    reports/            html version of the above (make coverage-reports-html)
   doc/                  documentation
   src/                  source code
     schooltool/         Python package 'schooltool'
@@ -166,6 +186,58 @@
     schoolbell/         Python package 'schoolbell'
 
 
+Egg dependencies and checkouts
+------------------------------
+
+Schooltool depends on various extensions to Zope 3 that have been
+packaged as Python eggs. Sometimes it is important to be able to change
+these eggs and make checkins to them during Schooltool dependencies.
+
+What will follow is an example pertaining to the zc.resourcelibrary
+package. Note that in order to follow these instructions you need to
+have a recent version of setuptools installed (post a11). The most
+easy way to do this is to use ez_setup.py, here:
+
+http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install
+
+Remove the previously installed egg:
+
+$ cd Zope3/src
+$ rm zc.resourcelibrary*
+
+Now do a writeable checkout of zc.resourcelibrary somewhere, for
+instance in the schooltool root directory:
+
+$ cd ../..
+$ svn co svn+ssh://svn.zope.org/repos/main/zc.resourcelibrary/trunk zc.resourcelibrary
+
+Then install zc.resourcelibrary into Zope3/src in development mode:
+
+$ cd zc.resourcelibrary
+$ PYTHONPATH=../Zope3/src/ python setup.py develop --install-dir ../Zope3/src/
+
+(For some reason running this command from within the
+zc.resourcelibrary directory seems to be required.)
+
+You can test an development egg dependency with a command like this,
+in the Zope3 directory:
+
+$ cd ..
+$ cd Zope3
+$ python2.4 test.py --test-path=../zc.resourcelibrary/src/ -s zc.resourcelibrary
+
+(this assumes that zc.resourcelibrary has been checked out in the
+schooltool root directory)
+
+Some notes on running the tests:
+
+* to run the Zope 3 functional tests, first do a `make inplace` in the
+  Zope 3 checkout. zc.resourcelibrary has functional tests.
+
+* Note that the tests will fail as these are functional
+  tests. zc.resourcelibrary did not have its configure.zcml or
+  meta.zcml installed into Zope 3's package includes.
+
 Testing
 -------
 
@@ -182,8 +254,7 @@
 
   python test.py -pv
 
-To run all functional tests, start the SchoolTool server using the test.conf
-configuration file (hint: make runtestserver) and then do
+To run all functional tests, do
 
   python test.py -fpv
 
@@ -191,15 +262,7 @@
 
   python test.py -h
 
-Functional tests are are not completely isolated.  Some functional tests
-create named database state snapshots, while other tests reuse those snapshots
-of known database state.  The test runner does not know which tests create
-which snapshots, so if you want to run just one (or a couple) of functional
-tests in isolation, it is likely that you will have first run the full suite
-to create the necessary snapshots.  Do not restart the test server, or all
-saved snapshots will be gone.
 
-
 Unit test coverage
 ------------------
 
@@ -217,8 +280,19 @@
 this line was reached during testing.  Watch out for lines marked with
 '>>>>>>' as they indicate code that is not unit tested.
 
-There are some more helpful make targets:
+A prettier HTML version of the coverage reports can be generated with
 
+  make coverage
+  make coverage-reports-html
+
+Look at HTML files in ./coverage/reports/.  You should have enscript installed
+for syntax highlighting source files.
+
+The HTML version of coverage reports is published nightly at
+http://source.schooltool.org/coverage/
+
+There are some other helpful make targets:
+
   make coverage-report-list
 
     Lists all non-test modules from the schooltool package that contain
@@ -244,20 +318,30 @@
 Translation
 -----------
 
-Translation files live in src/schooltool/translation.  There is a directory
-for each language that contains a subdirectory called LC_MESSAGES that
-contains two files: schooltool.po and schooltool.mo.
+Translation templates live in src/schooltool/locales/*.pot, they are the
+translatable strings extracted from the source. Translation templates are used
+to update other translations and create new ones. You can generate them via
+this command:
 
-To start a new translation, create a language directory and LC_MESSAGES and
-use src/schooltool/translation/schooltool.pot as a template.  Generate
-schooltool.mo with msgfmt (or by calling make update-translations).
+  $ make extract-translations
 
-When you change the translatable strings in the source code or page templates,
-be sure to run
+Translation files live in src/schooltool/locales.  There is a
+directory for each language that contains a subdirectory called
+LC_MESSAGES that contains the .po files and the compiled .mo files.
+The .mo files must be present if schooltool is to use them and are
+built by the command:
 
-  make extract-translations
+  $ make update-translations
 
+XXX: At present there is no easy way of compiling .mo files in the
+     tarball and the _source_ tarball does not contain them.
 
+To start a new translation, create a language directory and
+LC_MESSAGES and use src/schooltool/locales/*.pot as a templates (copy
+them to the new directory and rename them as .po).  Generate .mo files
+with msgfmt (or by calling make update-translations).
+
+
 Virtual hosting
 ---------------
 
@@ -302,30 +386,23 @@
 Copyright information
 ---------------------
 
-SchoolTool is copyright (c) 2003--2005 Shuttleworth Foundation
+SchoolTool is copyright (c) 2003--2006 Shuttleworth Foundation
 
-All files in the src/schooltool directory (with some exceptions in
-src/schooltool/locales) are part of SchoolTool, and are (c) Shuttleworth
-Foundation.
+All files in the src/schooltool directory are part of SchoolTool, and
+are (c) Shuttleworth Foundation, with the exception of translations in
+src/schooltool/locales, which are under the copyright of their
+original contributors via LaunchPad at http://launchpad.net.
 
 Unless otherwise stated, files in src/schooltool are released under the
 terms of the GNU General Public License as published by the Free
 Software Foundation; either version 2 of the License, or (at your option)
 any later version.
 
-Files in the following directories are (c) their respective owners. See
-the individual files and directories for details of the licences.
-
-  Zope3
-
 Files in the same directory as this README file are (c) Shuttleworth
 Foundation, with the exception of GPL, which is a copy of the Free Software
 Foundation's General Public License, and is (c) FSF.
 
-Files in the debian/ subdirectory are (c) Shuttleworth Foundation and
-contributors.
 
-
 SchoolTool is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

Deleted: schooltool/trunk/RELEASE.txt
===================================================================
--- schooltool/trunk/RELEASE.txt	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/RELEASE.txt	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,66 +0,0 @@
-Release Notes - SchoolTool Calendar 0.11.4
-==========================================
-
-The third release of SchoolTool Calendar, a calendar management system
-for schools.
-
-Using Zope3 generations, the database will be upgradeable automatically for
-the foreseeable future.
-
-
-Changes from 0.11.3
--------------------
-
-* Update to Zope 3.2.
-
-
-Changes from 0.11.2
--------------------
-
-* Fix group membership page: pressing Enter in search box removes members.
-    (http://issues.schooltool.org/issue347)
-
-* Fix personal calendar shows every event twice.
-    (http://issues.schooltool.org/issue367)
-
-* Fix server error on importing sections.
-    (http://issues.schooltool.org/issue424)
-
-* Updated the test runner.
-
-* URI unquoting in restive interfaces.
-
-
-Changes from 0.11.1
--------------------
-
-* Updated translations from Rosetta.
-
-* Fix unit tests after optimisations to schoolbell broke them.
-
-* Changes to build process:
-    - Fix make extract-translations rule.
-    - Fix make update-translations rule.
-    - Make updating Rosetta translations easier by providing makefile rules.
-
-
-Changes from 0.11.0
--------------------
-
-* Bugfix for http://issues.schooltool.org/issue354
-  (User can't View calendar without Edit permission)
-
-
-Major Changes from 0.10
------------------------
-
-* A wizard-based interface can now be used to generate timetable schemas
-* Emergency days can be entered to adjust the timetable for holidays, etc.
-* Some days can be declared special, when the time periods are different
-  than usual.
-
-
-Download and Installation
--------------------------
-
-Downloadable from: http://www.schooltool.org/products

Copied: schooltool/trunk/SchoolTool (from rev 357, schooltool/branches/upstream/current/SchoolTool)

Copied: schooltool/trunk/Support (from rev 357, schooltool/branches/upstream/current/Support)

Copied: schooltool/trunk/configure (from rev 357, schooltool/branches/upstream/current/configure)
===================================================================
--- schooltool/trunk/configure	                        (rev 0)
+++ schooltool/trunk/configure	2006-10-25 17:32:46 UTC (rev 358)
@@ -0,0 +1,232 @@
+#!/bin/sh
+
+# Generic Python application configure script for Unix
+
+PACKAGE_NAME='SchoolTool'
+PACKAGE_LABEL="$PACKAGE_NAME-2006.0-beta1"
+
+DEFAULT_PREFIX="/usr/local/$PACKAGE_LABEL"
+prefix="$DEFAULT_PREFIX"
+
+
+#########################################################################
+# XXX The code that searches for an "acceptable" Python is really evil  #
+# and doesn't make much sense for a general packaging tool.  Wee        #
+# really need to find a better way to deal with this; it may be that    #
+# we should simply look for several executable names, and use the       #
+# first one we find.  If the installer wants something else, they can   #
+# use --with-python.                                                    #
+#########################################################################
+
+
+# Place the optimal target version number (as returned by sys.version)
+# below
+TARGET="2.4.3"
+
+# Order a list of "acceptable" python version numbers (as returned by
+# sys.version) below in "best" to "worst" order, not including the
+# target version.  Up to six acceptable python versions are allowed.
+# Do not include the target version number in this list!
+ACCEPTABLE="2.4.2 2.4.1"
+
+# provide the executable names for all the acceptable versions
+# (and the target version) below
+EXENAMES="python python2 python2.4"
+
+
+# where are we?
+HERE="`dirname $0`"
+
+# should we be quiet?
+QUIET=""
+
+usage()
+{
+    echo
+    echo "configure [--help] [--quiet] [--with-python=path] [--prefix=path] "
+    #echo "          [--ignore-largefile] [--ignore-zlib]"
+    echo
+    echo "Create a Makefile suitable for building schooltool.app"
+    echo
+    echo "Options: "
+    echo " --help              shows usage and quits"
+    echo " --quiet             suppress nonessential output"
+    echo " --with-python       specify a path to a Python interpreter to use"
+    echo " --prefix            specify an installation path for binary data"
+    #echo " --ignore-largefile  ignore large file support warnings"
+    #echo " --ignore-zlib       ignore warnings about zlib"
+    echo
+    echo "Given no options, configure will search your PATH for a suitable"
+    echo "Python interpreter and use '$DEFAULT_PREFIX' as a prefix."
+    echo
+}
+
+# bootstrap ourselves by finding a Python interpreter if necessary
+get_python() {
+    OLDIFS="$IFS"
+    # Why are we playing with the IFS like this???
+    IFS=":"
+    FOUND=""
+    VERSION=""
+    FOUNDLIST=""
+    out "Testing for an acceptable Python interpreter..."
+    out ""
+    for DIR in $PATH; do
+        IFS="$OLDIFS"
+        for EXECUTABLE in $EXENAMES; do
+            FULL="$DIR/$EXECUTABLE"
+            if [ -x "$FULL" -a -f "$FULL" ]; then
+                CMD="import string,sys;a=string.split(sys.version)[0]"
+		# Strip trailing + from version number
+		CMD="$CMD;a=(a[-1]=='+')and(a[:-1])or(a);print a"
+                VERSION=`"$FULL" -c "$CMD"`
+                out "  Python version $VERSION found at $FULL"
+                if [ "$VERSION" = "$TARGET" ]; then
+                    FOUND="$FULL"
+                    FOUNDVERSION=$VERSION
+                    break 2
+                else
+                    i=1;
+                    for ACC in $ACCEPTABLE; do
+                        i=`expr $i + 1`
+			for SLOT in $FOUNDLIST; do
+                            if [ $SLOT -eq $i ]; then
+                                # slot "i" already populated.  This means we've
+                                # already found this particular version of
+                                # python.  Continue the for ACC in 
+                                # $ACCEPTABLE loop and don't overwrite the
+                                # one we already found (interpreters first
+                                # on the path win).
+                                continue 2
+                            fi
+                        done
+                        if [ "$VERSION" = "$ACC" ]; then
+                            FOUNDLIST="$FOUNDLIST $i"
+                            eval "FOUND$i=$FULL"
+                            eval "FOUNDVERSION$i=$VERSION"
+                        fi
+                    done
+                fi
+            fi
+        done
+    done
+    if [ "$VERSION" = "$TARGET" ]; then
+        out
+        out "  The optimum Python version ($TARGET) was found at $FOUND."
+    elif [ -z "$FOUND1" ] && [ -z "$FOUND2" ] && [ -z "$FOUND3" ] &&
+         [ -z "$FOUND4" ] && [ -z "$FOUND5" ] && [ -z "$FOUND6" ] ; then
+        out
+        out "  No suitable Python version found.  You should install"
+        out "  Python version $TARGET before continuing.  Versions"
+        out "  $ACCEPTABLE also work, but not as optimally."
+        exit 1
+    else
+        if   [ -n "$FOUND1" ]; then
+            FOUND=$FOUND1
+            FOUNDVERSION=$FOUNDVERSION1
+        elif [ -n "$FOUND2" ]; then
+            FOUND=$FOUND2
+            FOUNDVERSION=$FOUNDVERSION2
+        elif [ -n "$FOUND3" ]; then
+            FOUND=$FOUND3
+            FOUNDVERSION=$FOUNDVERSION3
+        elif [ -n "$FOUND4" ]; then
+            FOUND=$FOUND4
+            FOUNDVERSION=$FOUNDVERSION4
+        elif [ -n "$FOUND5" ]; then
+            FOUND=$FOUND5
+            FOUNDVERSION=$FOUNDVERSION5
+        elif [ -n "$FOUND6" ]; then
+            FOUND=$FOUND6
+            FOUNDVERSION=$FOUNDVERSION6
+        fi
+        out
+        out "  !! WARNING !!"
+        out "  An acceptable, but non-optimal Python version ($FOUNDVERSION)"
+        out "  was found at '$FOUND'."
+        out "  But consider installing version '$TARGET' before running"
+        out "  'make'.  If this isn't the Python version or interpreter"
+        out "  instance you wish to use, you may specify a Python interpreter"
+        out "  manually by rerunning the ./configure script with the"
+        out "  '--with-python' option."
+    fi
+    out ""
+}
+
+out() {
+    if [ -z "$QUIET" ]; then
+        echo $1
+    fi
+}
+
+
+while [ "$1" ] ; do
+    OPT="$1"
+    shift 1
+    case "$OPT" in
+    --help | --hel | --he | --h | -h)
+        usage
+        exit 0
+        ;;
+    --with-python=* | --with-pytho=* | --with-pyth=* | --with-pyt=* )
+        FOUND=`echo $OPT | sed -e 's/--[^=][^=]*=//'`
+        # use eval to do tilde expansion
+        eval "FOUND='$FOUND'"
+        ;;
+    --with-python | --with-pytho | --with-pyth | --with-pyt )
+        FOUND="$1"
+        shift 1
+        ;;
+    --quiet | --quie | --qui | --qu | --q | -q)
+        QUIET="true"
+        ;;
+    --force | --forc | --for | --fo | --f | -f)
+        FORCE_APP_HOME="true"
+        ;;
+    --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=* )
+        prefix=`echo $OPT | sed -e 's/--[^=][^=]*=//'`
+        # use eval to do tilde expansion
+        eval "prefix='$prefix'"
+        ;;
+    --prefix | --prefi | --pref | --pre | --pr | --p )
+        prefix="$1"
+        shift 1
+        ;;
+    *)
+        echo "argument not understood: $OPT" >@2
+        usage >@2
+        exit 2
+        ;;
+    esac
+done
+
+out ""
+out "Configuring schooltool.app installation"
+out ""
+
+if [ -z "$FOUND" ]; then
+    get_python
+else
+    out "Using Python interpreter at $FOUND"
+    out ""
+fi
+
+if [ -d "$prefix" -a ! "$FORCE_APP_HOME" ] ; then
+    echo 2>&1 "Installation directory $prefix already exists."
+    echo 2>&1 "Specify a directory that isn't being used, or"
+    echo 2>&1 "use --force to use it anyway."
+    out ""
+    exit 2
+fi
+
+# iff $prefix starts with '/', $FIRSTPART will be ''
+FIRSTPART="`echo $prefix | cut -f1 -d/`"
+if [ ! "" = "" ] ; then
+    prefix="`pwd`/$prefix"
+fi
+
+sed -e "s|@prefix@|$prefix|g" \
+    -e "s|@PYTHON@|$FOUND|g" \
+    "$HERE/Makefile.in" > "$HERE/Makefile"
+
+exit $?

Modified: schooltool/trunk/debian/changelog
===================================================================
--- schooltool/trunk/debian/changelog	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/debian/changelog	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,3 +1,9 @@
+schooltool (2006.0-beta1-1) UNRELEASED; urgency=low
+
+  * (NOT RELEASED YET) New upstream release
+
+ -- Brian Sutherland <jinty at web.de>  Wed, 25 Oct 2006 16:08:47 +0200
+
 schooltool (0.11.4-4) UNRELEASED; urgency=low
 
   * Add watch file to make updating easier.

Deleted: schooltool/trunk/ftesting.zcml
===================================================================
--- schooltool/trunk/ftesting.zcml	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/ftesting.zcml	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,62 +0,0 @@
-<configure xmlns="http://namespaces.zope.org/zope"
-           xmlns:browser="http://namespaces.zope.org/browser"
-           i18n_domain="zope">
-
-  <!-- This file is the equivalent of site.zcml and it is
-       used for functional testing setup, when you run SchoolBell tests
-       with the SchoolBell test runner.  It is not used when you run
-       SchoolBell tests with the Zope 3 test runner.
-
-       This file differs from the standard Zope 3 ftesting.zcml.
-       -->
-
-  <include package="zope.app" />
-  <include package="zope.app.securitypolicy" file="meta.zcml" />
-
-  <include package="zope.app.session" />
-  <include package="zope.app.server" />
-  <include package="zope.app.http" />
-  <include package="zope.app.authentication" />
-
-  <!-- Workaround to shut down a DeprecationWarning that appears because we do
-       not include zope.app.onlinehelp and the rotterdam skin tries to look for
-       this menu -->
-  <browser:menu id="help_actions" />
-
-  <include package="schoolbell.app" />
-  <include package="schooltool" />
-
-  <include package="zope.app.securitypolicy" />
-  <!-- Basically a copy of zope.app.securitypolicy/securitypolicy.zcml  -->
-  <securityPolicy
-    component="zope.app.securitypolicy.zopepolicy.ZopeSecurityPolicy" />
-
-  <role id="zope.Anonymous" title="Everybody"
-                 description="All users have this role implicitly" />
-  <role id="zope.Manager" title="Site Manager" />
-  <role id="zope.Member" title="Site Member" />
-
-  <grant permission="zope.View" role="zope.Anonymous" />
-  <grant permission="zope.app.dublincore.view" role="zope.Anonymous" />
-
-  <grantAll role="zope.Manager" />
-  <!-- end copy of securitypolicy.zcml -->
-
-  <include package="zope.app.securitypolicy.tests" file="functional.zcml" />
-
-  <unauthenticatedPrincipal id="zope.anybody" title="Unauthenticated User" />
-  <unauthenticatedGroup id="zope.Anybody" title="Unauthenticated Users" />
-  <authenticatedGroup id="zope.Authenticated" title="Authenticated Users" />
-  <everybodyGroup id="zope.Everybody" title="All Users" />
-
-  <!-- Principal that tests generally run as -->
-
-  <principal id="zope.mgr" title="Manager" login="mgr" password="mgrpw" />
-
-  <!-- Bootstrap principal used to make local grant to the principal above -->
-  <principal id="zope.globalmgr" title="Manager" login="globalmgr"
-             password="globalmgrpw" />
-
-  <grant role="zope.Manager" principal="zope.globalmgr" />
-
-</configure>

Copied: schooltool/trunk/install.py (from rev 357, schooltool/branches/upstream/current/install.py)
===================================================================
--- schooltool/trunk/install.py	                        (rev 0)
+++ schooltool/trunk/install.py	2006-10-25 17:32:46 UTC (rev 358)
@@ -0,0 +1,29 @@
+#! /usr/bin/env python
+#
+# THIS IS A GENERATED FILE.  DO NOT EDIT THIS DIRECTLY.
+
+# Add the Support/ directory to sys.path to get our support code:
+#
+import os
+import sys
+
+try:
+    __file__
+except NameError:
+    # Python 2.2.x does not have __file__ for scripts.
+    __file__ = sys.argv[0]
+
+here = os.path.dirname(os.path.realpath(__file__))
+support_dir = os.path.join(here, 'Support')
+support_dir = os.path.normpath(support_dir)
+if os.path.isdir(support_dir):
+    sys.path.insert(0, support_dir)
+
+import zpkgsetup.setup
+
+
+context = zpkgsetup.setup.SetupContext(
+    'SchoolTool', '2006.0-beta1', __file__)
+
+context.initialize()
+context.setup()

Deleted: schooltool/trunk/remove-stale-bytecode.py
===================================================================
--- schooltool/trunk/remove-stale-bytecode.py	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/remove-stale-bytecode.py	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,84 +0,0 @@
-#!/usr/bin/env python
-#
-# SchoolTool - common information systems platform for school administration
-# Copyright (c) 2003 Shuttleworth Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-"""
-Recursively removes .pyc and .pyo files without a corresponding .py file.
-
-Usage: %(progname)s [options] [dirname ...]
-
-Options:
-    -h, --help      this message
-    -v, --verbose   print names of files before they are removed (default)
-    -q, --quiet     the opposite of --verbose
-    -n, --dry-run   do not actually remove the files (implies --verbose)
-
-If dirname is ommitted, %(progname)s starts looking for stale
-bytecode files in the current directory.
-"""
-
-import os
-import sys
-import getopt
-
-
-def main(argv=sys.argv):
-    progname = os.path.basename(argv[0])
-    helpmsg = __doc__.strip() % {'progname': progname}
-    verbose = True
-    dry_run = False
-    try:
-        opts, args = getopt.getopt(argv[1:], 'vqnh',
-                                   ['verbose', 'quiet', 'dry-run', 'help'])
-    except getopt.error, e:
-        print >> sys.stderr, e
-        print >> sys.stderr, 'try %s --help' % progname
-        sys.exit(1)
-    for k, v in opts:
-        if k in ('-v', '--verbose'):
-            verbose = True
-        elif k in ('-q', '--quiet'):
-            verbose = False
-        elif k in ('-n', '--dry-run'):
-            dry_run = True
-            verbose = True
-        elif k in ('-h', '--help'):
-            print helpmsg
-            sys.exit(0)
-    if not args:
-        args = ['.']
-    for root in args:
-        for dirpath, dirnames, filenames in os.walk(root):
-            filenames = map(os.path.normcase, filenames)
-            for filename in filenames:
-                if filename.endswith('.pyc') or filename.endswith('pyo'):
-                    sourcename = filename[:-1]
-                    if sourcename not in filenames:
-                        fullname = os.path.join(dirpath, filename)
-                        if verbose:
-                            print "Removing", fullname
-                        if not dry_run:
-                            try:
-                                os.unlink(fullname)
-                            except os.error, e:
-                                print >> sys.stderr, ("%s: %s: %s" %
-                                                      (progname, fullname, e))
-
-
-if __name__ == '__main__':
-    main()

Deleted: schooltool/trunk/rest-client.py
===================================================================
--- schooltool/trunk/rest-client.py	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/rest-client.py	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-"""
-A script to run the SchoolTool REST client from the source directory.
-"""
-
-import sys
-import os.path
-
-if sys.version_info < (2, 3):
-    print >> sys.stderr, '%s: need Python 2.3 or later.' % sys.argv[0]
-    print >> sys.stderr, 'Your python is %s' % sys.version
-    sys.exit(1)
-
-
-import os
-basedir = os.path.abspath(os.path.dirname(sys.argv[0]))
-sys.path.insert(0, os.path.join(basedir, 'src'))
-sys.path.insert(0, os.path.join(basedir, 'Zope3', 'src'))
-
-import schooltool.client
-schooltool.client.main()

Deleted: schooltool/trunk/schooltool-server.py
===================================================================
--- schooltool/trunk/schooltool-server.py	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/schooltool-server.py	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-"""
-A script to start the schooltool server from the source directory.
-"""
-
-import sys
-import os.path
-
-if sys.version_info < (2, 3):
-    print >> sys.stderr, '%s: need Python 2.3 or later.' % sys.argv[0]
-    print >> sys.stderr, 'Your python is %s' % sys.version
-    sys.exit(1)
-
-# find the schooltool config file if it exists
-dirname = os.path.dirname(__file__)
-config_file = os.path.join(dirname, 'schooltool.conf')
-if not os.path.exists(config_file):
-    config_file = os.path.join(dirname, 'schooltool.conf.in')
-
-# Change the default config file name by prepending a command-line argument
-sys.argv.insert(1, '--config=' + config_file)
-
-import os
-basedir = os.path.abspath(os.path.dirname(sys.argv[0]))
-sys.path.insert(0, os.path.join(basedir, 'src'))
-sys.path.insert(0, os.path.join(basedir, 'Zope3', 'src'))
-
-import schooltool.main
-schooltool.main.StandaloneServer().main()

Deleted: schooltool/trunk/schooltool.conf.in
===================================================================
--- schooltool/trunk/schooltool.conf.in	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/schooltool.conf.in	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,273 +0,0 @@
-# Sample SchoolTool HTTP server configuration file
-
-#
-# path /path/to/add
-# path /another/path/to/add
-#
-#  Specifies a path to add to the beginning of Python's module search path
-#  There can be zero or more 'path' directives
-#
-
-#
-# module dotted.module.name
-# module another.dotted.module.name
-#
-#  Lists modules to be set up when the server is started. The modules must
-#  provide IModuleSetup. The module 'schooltool.main' is implicitly listed
-#  first.
-#
-# Example:
-#   module school.example
-#
-
-#
-# listen[_ssl] port
-# listen[_ssl] interface:port
-#
-#   DEPRECIATED: The listen directives are depreciated in favour of the rest
-#   directives.
-#
-#   Specifies the port number and optionaly a network interface for
-#   the RESTive server to listen on. There can be one or more 'listen'
-#   directives. If _ssl is used the server will accept only SSL connctions
-#   on that port and a ssl_certificate configuration line is required.
-#
-# Examples:
-#   listen 7001
-#   listen 127.0.0.1:80
-#   listen_ssl 7002
-
-# listen 7001
-
-#
-# web[_ssl] port
-# web[_ssl] interface:port
-#
-#   Specifies the port number and optionaly a network interface for
-#   the web application server to listen on. There can be one or more
-#   'listen' directives. If _ssl is used the server will accept only
-#   SSL connctions on that port and a ssl_certificate configuration
-#   line is required.
-#
-#   Note: SSL is currently un-implemented in the schooltool server.  
-#
-# Examples:
-#   web 8080
-#   web 127.0.0.1:80
-#   web_ssl 8443
-#
-
-web 7080
-
-#
-# rest port
-# rest interface:port
-#
-#   Specifies the port number and optionaly a network interface for
-#   the RESTive application server to listen on
-#
-# Examples:
-#   rest 7001
-#   rest 127.0.0.1:7001
-#
-
-# rest 7001
-
-#
-#
-# ssl_certificate certificate
-#
-#   Specifies a certificate in PEM format which contains a certificate and
-#   private key for use in SSL connections.
-#   This is required to use listen_ssl
-#
-
-#
-# thread-pool-size n
-#
-#   Specifies the suggested size for request thread pool
-#
-# Default:
-#   thread-pool-size 10
-#
-
-#
-# event-logging on|off
-#
-#   Enables or disables global event logging to /utils/eventlog
-#
-# Default:
-#   event-logging off
-#
-
-#
-# pid-file
-#
-#   Specifies the path of a pid file.
-#
-# Default: no pidfile
-#
-pid-file schooltool.pid
-
-#
-# error-log-file
-#
-#   Specifies the path of a log file used for exceptions. Special
-#   values STDERR and STDOUT mean standard error and standard output
-#   respectively.
-#
-#   You can specify more than one log file.  All messages will be duplicated
-#   to all the log files.
-#
-# Default:
-#    error-log-file STDERR
-#
-# Examples:
-#    error-log-file /var/log/schooltool/error.log
-#    error-log-file STDERR
-#
-error-log-file schooltool.log
-error-log-file STDERR
-
-#
-# rest-access-log-file
-#
-#   Specifies the path of a file used for an Apache combined format
-#   access log for the RESTive API server.  Special values STDERR and
-#   STDOUT mean standard error and standard output respectively.
-#
-#   You can specify more than one log file.  All messages will be duplicated
-#   to all the log files.
-#
-# Default:
-#    rest-access-log-file STDOUT
-#
-# Examples:
-#    rest-access-log-file /var/log/schooltool/access.log
-#    rest-access-log-file STDOUT
-#
-rest-access-log-file rest-access.log
-
-#
-# web-access-log-file
-#
-#   Specifies the path of a file used for an Apache combined format
-#   access log of the web application.  Special values STDERR and
-#   STDOUT mean standard error and standard output respectively.
-#
-#   You can specify more than one log file.  All messages will be duplicated
-#   to all the log files.
-#
-# Default:
-#    web-access-log-file STDOUT
-#
-# Examples:
-#    web-access-log-file /var/log/schooltool/access.log
-#    web-access-log-file STDOUT
-#
-web-access-log-file web-access.log
-
-#
-# lang
-#
-#   Specifies the locale of the messages to be used on the server.
-#   Several languages can be specified.
-#
-#   If a translation for a string is not found in a locale, the next listed
-#   locale is tried. If no translation is found, the string from the default
-#   locale is used.
-#
-# Default:
-#   lang en_US
-#
-# Examples:
-#   lang en_UK
-#   lang en_US.UTF-8
-
-#
-# domain
-#
-#   Specifies the name of the message catalog to be used on the server.
-#
-# Default:
-#   domain schooltool
-#
-# Examples:
-#   domain schoolbell
-
-#
-# <zodb>
-#   ...
-# </zodb>
-#
-#   Specifies a ZODB database to use.
-#   This section is required.
-#
-
-<zodb>
-  # <filestorage>		traditional FileStorage
-  #   path filename		required
-  #   create yes|no		default: yes
-  #   read-only yes|no		default: no
-  #   quota size		default: no quota
-  # </filestorage>
-  <filestorage>
-    path Data.fs
-  </filestorage>
-
-  # <mappingstorage>		in-memory MappingStorage
-  #   name storage-name		default: Mapping Storage
-  # </mappingstorage>
-
-  # <fullstorage>		BerkeleyDB based storage
-  #   ...			XXX
-  # </fullstorage>
-
-  # <minimalstorage>		BerkeleyDB based storage, stripped down
-  #   ...			see <fullstorage>
-  # </minimalstorage>
-
-  # <zeoclient>
-  #   server address		one or more; required
-  #   cache-size n		default: 20000000 (bytes)
-  #   name storage-name		default: address of the server
-  #   client x			enables persistent cache for client x
-  #   var dirname		directory for persistent cache (default: .)
-  #   min-disconnect-poll n	default: 5
-  #   max-disconnect-poll n	default: 300
-  #   wait yes|no		default: yes
-  #   read-only yes|no		default: no
-  #   read-only-fallback yes|no	default: no
-  #   realm name		authentication realm
-  # </zeoclient>
-
-  # <demostorage>		currently broken
-  #   name			default: Demo Storage
-  #   quota			XXX
-  #   ...			another section describing base storage
-  # </demostorage>
-
-  # cache-size n
-  #
-  # Default:
-  #   cache-size 5000
-
-  # pool-size n
-  #
-  # Default:
-  #   pool-size 7
-
-</zodb>
-
-#
-# reportlab_fontdir
-#
-#   Specifies the path to TrueType fonts (Arial and Times New Roman)
-#   for ReportLab.
-#
-#   Comment out or set to empty string to disable reportlab.
-#
-# Examples:
-#    reportlab_fontdir /usr/share/fonts/truetype/msttcorefonts
-#
-reportlab_fontdir /usr/share/fonts/truetype/msttcorefonts

Copied: schooltool/trunk/setup.cfg (from rev 357, schooltool/branches/upstream/current/setup.cfg)
===================================================================
--- schooltool/trunk/setup.cfg	                        (rev 0)
+++ schooltool/trunk/setup.cfg	2006-10-25 17:32:46 UTC (rev 358)
@@ -0,0 +1,9 @@
+# THIS IS A GENERATED FILE.
+
+[bdist_rpm]
+doc_files = SchoolTool/README.txt
+            SchoolTool/GPL.txt
+
+[install_lib]
+compile = 1
+optimize = 1

Deleted: schooltool/trunk/setup.py
===================================================================
--- schooltool/trunk/setup.py	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/setup.py	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,342 +0,0 @@
-#!/usr/bin/env python
-#
-# SchoolTool - common information systems platform for school administration
-# Copyright (c) 2005    Shuttleworth Foundation,
-#                       Brian Sutherland
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-"""
-SchoolTool setup script.
-"""
-
-
-# Check python version
-import sys
-if sys.version_info < (2, 4):
-    print >> sys.stderr, '%s: need Python 2.4 or later.' % sys.argv[0]
-    print >> sys.stderr, 'Your python is %s' % sys.version
-    sys.exit(1)
-
-import os
-import re
-import tempfile
-from distutils.core import setup
-from distutils.command.install import install as _install
-from distutils.command.install_data import install_data as _install_data
-from distutils.command.install_scripts \
-        import install_scripts as _install_scripts
-from distutils.archive_util import ARCHIVE_FORMATS
-from distutils.dir_util import mkpath
-from distutils.spawn import spawn
-
-here = os.path.abspath(os.path.dirname(__file__))
-
-# if we have an Zope3 external, then we use it
-# XXX - try import zope, check version and perhaps error
-zope3 = os.path.join(here, 'Zope3', 'src')
-if os.path.isdir(zope3):
-    sys.path.insert(1, zope3)
-from zope.app.locales import extract
-
-# prepend the local schooltool
-sys.path.insert(0, os.path.join(here, 'src'))
-import schooltool
-
-#
-# Translations
-#
-
-# Monkey patch the Zope3 translation extraction machinery
-extract.pot_header = """\
-# SchoolTool - common information systems platform for school administration
-# Copyright (c) 2005    Shuttleworth Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-msgid ""
-msgstr ""
-"Project-Id-Version: %(version)s\\n"
-"POT-Creation-Date: %(time)s\\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\\n"
-"Language-Team: Schooltool Development Team <schooltool-dev at schooltool.org>\\n"
-"MIME-Version: 1.0\\n"
-"Content-Type: text/plain; charset=%(charset)s\\n"
-"Content-Transfer-Encoding: %(encoding)s\\n"
-"Generated-By: setup.py\\n"
-
-"""
-
-class POTMaker(extract.POTMaker):
-
-    def _getProductVersion(self):
-        return "SchoolTool Version %s" % schooltool.VERSION
-
-
-def build_pot(domain, path, output_dir, base_dir):
-    """Build the *.pot."""
-    # where is eveything
-    # Setup
-    (zcml, zcml_filename) = tempfile.mkstemp()
-    file = open(zcml_filename, 'w')
-    file.write("""<configure xmlns="http://namespaces.zope.org/zope">
-                     <include package="zope.app" />
-                     <include package="schoolbell.app" />
-                     <include package="schooltool" />
-                  </configure>""")
-    file.close()
-
-    output_file = os.path.join(path, output_dir, domain + '.pot')
-
-    # Create the POT
-    maker = POTMaker(output_file, path)
-    maker.add(extract.py_strings(path, domain), base_dir)
-    maker.add(extract.zcml_strings(path, domain, site_zcml=zcml_filename), base_dir)
-    maker.add(extract.tal_strings(path, domain), base_dir)
-    maker.write()
-
-    # Cleanup
-    os.remove(zcml_filename)
-
-
-#
-# Distutils Customization
-#
-
-def make_schooltool_tarball(base_name, base_dir, verbose=0, dry_run=0):
-    """Make a tarball with the right permissions/owenership."""
-    archive_name = base_name + ".tar"
-    mkpath(os.path.dirname(archive_name), dry_run=dry_run)
-    spawn(["tar", "--owner=0", "--group=0", "--mode=a+r",
-           "-cf", archive_name, base_dir], dry_run=dry_run)
-    spawn(["gzip", "-f9", archive_name], dry_run=dry_run)
-    return archive_name + '.gz'
-
-# Register custom archive creation function
-ARCHIVE_FORMATS['schooltooltgz'] = (make_schooltool_tarball, [],
-                                    "create tarball with schooltool defaults")
-
-class install_data(_install_data):
-    """Specialized Python installer for schooltool.
-
-    It changes the default schoolbell data install directory to be the same as
-    the directory for install_lib.
-
-    It also makes the --install-data option to the install command a no-op.
-
-    The right way to go about this is package_data, but that is only in
-    python 2.4.
-    """
-
-    def finalize_options(self):
-        self.set_undefined_options('install', ('install_lib', 'install_dir'))
-        return _install_data.finalize_options(self)
-
-
-class install(_install):
-    """Specialized install command for schooltool and schoolbell.
-
-    Make it possible to pass the --paths and --default-config options to the
-    install_scripts command.
-    """
-
-    user_options = _install.user_options + [
-            ('paths=', None, "a semi-colon separated list of paths that should"
-             " be added to the python path on script startup"),
-            ('default-config=', None, "location of the default server config"
-             " file")]
-
-    def initialize_options(self):
-        self.paths = None
-        self.default_config = None
-        return _install.initialize_options(self)
-
-
-class install_scripts(_install_scripts):
-    """Specialized Python installer for schooltool and schoolbell.
-
-    The primary purpose of this sub class it to configure the scripts on
-    installation.
-    """
-
-    user_options = _install_scripts.user_options + [
-            ('paths=', None, "a semi-colon separated list of paths that should"
-             " be added to the python path on script startup"),
-            ('default-config=', None, "location of the default server config"
-             " file")]
-
-    def initialize_options(self):
-        self.paths = None
-        self.default_config = None
-        return _install_scripts.initialize_options(self)
-
-    def finalize_options(self):
-        self.set_undefined_options('install',
-                ('paths', 'paths'),
-                ('default_config', 'default_config'))
-        return _install_scripts.finalize_options(self)
-
-    def update_scripts(self):
-        for script in self.get_outputs():
-            # Read the installed script
-            try:
-                script_file = open(script, 'r')
-                script_str = script_file.read()
-            finally:
-                script_file.close()
-            # Update the paths in the script
-            paths_regex = re.compile(r'# paths begin\n.*# paths end', re.S)
-            paths = ['# paths begin', '# paths end']
-            if self.paths:
-                for path in self.paths.split(';'):
-                    paths.insert(-1, 'sys.path.insert(0, %s)'
-                                 % repr(os.path.abspath(path)))
-            script_str = re.sub(paths_regex, '\n'.join(paths), script_str)
-            # Update the default config file
-            config_regex = re.compile(r'# config begin\n.*# config end', re.S)
-            config = ["# config begin",
-                      "sys.argv.insert(1, '--config=%s.conf' % __file__)",
-                      "# config end"]
-            if self.default_config:
-                config[1] = ("sys.argv.insert(1, '--config=%s')"
-                             % os.path.abspath(self.default_config))
-            script_str = re.sub(config_regex, '\n'.join(config), script_str)
-            # Write the script again
-            try:
-                script_file = open(script, 'w')
-                script_file.write(script_str)
-            finally:
-                script_file.close()
-
-    def run(self):
-        ans = _install_scripts.run(self)
-        self.update_scripts()
-        return ans
-
-#
-# Do the setup
-#
-
-# Patch the setup command so that python 2.3 distutils can deal with the
-# classifiers option
-if sys.version_info < (2, 3):
-    _setup = setup
-    def setup(**kwargs):
-        if kwargs.has_key("classifiers"):
-            del kwargs["classifiers"]
-        _setup(**kwargs)
-
-# Re-build the translations every time setup.py is invoked. Really nasty,
-# but safe and easy.
-
-print "Extracting SchoolTool Translations"
-domain = 'schooltool'
-here = os.path.abspath(os.path.dirname(__file__))
-path = os.path.join(here, 'src')
-output_dir = os.path.join(here, 'src', 'schooltool', 'locales')
-base_dir = os.path.join(here, 'src', 'schooltool')
-build_pot(domain, path, output_dir, base_dir)
-
-# Debian specific patch skipping this part, because we move schoolbell out the way
-#print "Extracting SchoolBell Translations"
-#domain = 'schoolbell'
-#here = os.path.abspath(os.path.dirname(__file__))
-#path = os.path.join(here, 'src')
-#output_dir = os.path.join(here, 'src', 'schoolbell', 'app', 'locales')
-#base_dir = os.path.join(here, 'src', 'schoolbell')
-#build_pot(domain, path, output_dir, base_dir)
-
-# find the data files
-# if you modify this, also modify MANIFEST.in recursive includes
-# XXX - do something more intelligent with *.mo files. It's a mess - jinty
-datafile_re = re.compile(r'.*\.(pt|js|png|gif|css|mo|rng|xml|zcml|pot|po)\Z')
-data_files = []
-for root, dirs, files in os.walk(os.path.join('src', 'schooltool')):
-    # Ignore testing directories
-    if 'ftests' in dirs:
-        dirs.remove('ftests')
-    if 'tests' in dirs:
-        dirs.remove('tests')
-    # Find the data files
-    tmp = [os.path.join(root, file) for file in files
-           if datafile_re.match(file, 1)]
-    # If any, add them to the files to be copied
-    if tmp:
-        data_files.append((root[4:], tmp))
-
-# Setup SchoolTool
-setup(name="schooltool",
-    description="A common information systems platform for school administration.",
-    long_description="""
-SchoolTool is an open source school management information system.  It is
-a distributed client/server system.  The SchoolTool server presents two
-interfaces to clients:
-
-  - a traditional web application interface, usable with an ordinary browser.
-
-  - HTTP-based programming interface suitable for fat clients, adhering to
-    the Representational State Transfer (REST) architectural style (see
-    http://rest.blueoxen.net/).
-
-The web application interface is the primary one.  The RESTive interface is
-there for potential interoperability with other systems and fat clients to
-perform data entry that is inconvenient to do via the web application
-interface.
-
-Any modern web browser is suitable for the web application interface.  The
-interface degrades gracefully, so a browser that does not support CSS or
-Javascript will be usable, although perhaps not very nice or convenient.""",
-    version=schooltool.VERSION,
-    url='http://www.schooltool.org',
-    license="GPL",
-    maintainer="SchoolTool development team",
-    maintainer_email="schooltool-dev at schooltool.org",
-    platforms=["any"],
-    classifiers=["Development Status :: 5 - Production/Stable",
-    "Environment :: Web Environment",
-    "Intended Audience :: End Users/Desktop",
-    "License :: OSI Approved :: GNU General Public License (GPL)",
-    "Operating System :: OS Independent",
-    "Programming Language :: Python",
-    "Programming Language :: Zope",
-    "Topic :: Education",
-    "Topic :: Office/Business :: Scheduling"],
-    cmdclass={'install': install,
-              'install_scripts': install_scripts,
-              'install_data': install_data},
-    package_dir={'': 'src'},
-    packages=['schooltool',
-              'schooltool.rest',
-              'schooltool.browser',
-              'schooltool.timetable',
-              'schooltool.timetable.browser',
-              'schooltool.timetable.rest',
-              'schooltool.generations',
-              ],
-    data_files=data_files + [('', ['schooltool.conf.in'])],
-    scripts=['scripts/schooltool', 'scripts/schooltool-rest-client']
-    )

Deleted: schooltool/trunk/test.py
===================================================================
--- schooltool/trunk/test.py	2006-10-25 13:59:01 UTC (rev 357)
+++ schooltool/trunk/test.py	2006-10-25 17:32:46 UTC (rev 358)
@@ -1,1116 +0,0 @@
-#!/usr/bin/env python
-#
-# SchoolTool - common information systems platform for school administration
-# Copyright (c) 2003 Shuttleworth Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-"""
-SchoolTool test runner.
-
-Syntax: test.py [options] [pathname-regexp [test-regexp]]
-
-There are two kinds of tests:
-  - unit tests (or programmer tests) test the internal workings of various
-    components of the system
-  - functional tests (acceptance tests, customer tests) test only externaly
-    visible system behaviour
-
-You can choose to run unit tests (this is the default mode), functional tests
-(by giving a -f option to test.py) or both (by giving both -u and -f options).
-
-Test cases are located in the directory tree starting at the location of this
-script, in subdirectories named 'tests' for unit tests and 'ftests' for
-functional tests, in Python modules named 'test*.py'.  They are then filtered
-according to pathname and test regexes.  Alternatively, packages may just have
-'tests.py' and 'ftests.py' instead of subpackages 'tests' and 'ftests'
-respectively.
-
-A leading "!" in a regexp is stripped and negates the regexp.  Pathname
-regexp is applied to the whole path (package/package/module.py). Test regexp
-is applied to a full test id (package.package.module.class.test_method).
-
-Options:
-  -h, --help            print this help message
-  -v                    verbose (print dots for each test run)
-  -vv                   very verbose (print test names)
-  -q                    quiet (do not print anything on success)
-  -c                    colorize output (assumes dark background)
-  -C                    colorize output (assumes bright background)
-  -w                    enable warnings about omitted test cases
-  -d                    invoke pdb when an exception occurs
-  -1                    report only the first failure in doctests
-  -p                    show progress bar (can be combined with -v or -vv)
-  -u                    select unit tests (default)
-  -f                    select functional tests
-  --level n             select only tests at level n or lower
-  --all-levels          select all tests
-  --list-files          list all selected test files
-  --list-tests          list all selected test cases
-  --list-hooks          list all loaded test hooks
-  --coverage            create code coverage reports
-  --search-in dir       limit directory tree walk to dir (optimisation)
-  --immediate-errors    show errors as soon as they happen (default)
-  --delayed-errors      show errors after all unit tests were run
-"""
-#
-# This script borrows ideas from Zope 3's test runner heavily.  It is smaller
-# and cleaner though, at the expense of more limited functionality.
-#
-
-import re
-import os
-import sys
-import time
-import types
-import getopt
-import doctest
-import unittest
-import traceback
-import linecache
-import pdb
-from sets import Set
-
-__metaclass__ = type
-
-
-class Options:
-    """Configurable properties of the test runner."""
-
-    # test location
-    basedir = ''                # base directory for tests (defaults to
-                                # basedir of argv[0] + 'src'), must be absolute
-    search_in = ()              # list of subdirs to traverse (defaults to
-                                # basedir)
-    follow_symlinks = True      # should symlinks to subdirectories be
-                                # followed? (hardcoded, may cause loops)
-
-    # which tests to run
-    unit_tests = False          # unit tests (default if both are false)
-    functional_tests = False    # functional tests
-
-    # test filtering
-    level = 1                   # run only tests at this or lower level
-                                # (if None, runs all tests)
-    pathname_regex = ''         # regexp for filtering filenames
-    test_regex = ''             # regexp for filtering test cases
-
-    # actions to take
-    list_files = False          # --list-files
-    list_tests = False          # --list-tests
-    list_hooks = False          # --list-hooks
-    run_tests = True            # run tests (disabled by --list-foo)
-    postmortem = False          # invoke pdb when an exception occurs
-
-    # output verbosity
-    verbosity = 0               # verbosity level (-v)
-    quiet = 0                   # do not print anything on success (-q)
-    warn_omitted = False        # produce warnings when a test case is
-                                # not included in a test suite (-w)
-    first_doctest_failure = False # report first doctest failure (-1)
-    print_import_time = True    # print time taken to import test modules
-                                # (currently hardcoded)
-    progress = False            # show running progress (-p)
-    colorizer = None            # colorize output (-c)
-    coverage = False            # produce coverage reports (--coverage)
-    coverdir = 'coverage'       # where to put them (currently hardcoded)
-    immediate_errors = True     # show tracebacks twice (--immediate-errors,
-                                # --delayed-errors)
-    screen_width = 80           # screen width (autodetected)
-
-
-def compile_matcher(regex):
-    """Return a function that takes one argument and returns True or False.
-
-    Regex is a regular expression.  Empty regex matches everything.  There
-    is one expression: if the regex starts with "!", the meaning of it is
-    reversed.
-    """
-    if not regex:
-        return lambda x: True
-    elif regex == '!':
-        return lambda x: False
-    elif regex.startswith('!'):
-        rx = re.compile(regex[1:])
-        return lambda x: rx.search(x) is None
-    else:
-        rx = re.compile(regex)
-        return lambda x: rx.search(x) is not None
-
-
-def walk_with_symlinks(top, func, arg):
-    """Like os.path.walk, but follows symlinks on POSIX systems.
-
-    If the symlinks create a loop, this function will never finish.
-    """
-    try:
-        names = os.listdir(top)
-    except os.error:
-        return
-    func(arg, top, names)
-    exceptions = ('.', '..')
-    for name in names:
-        if name not in exceptions:
-            name = os.path.join(top, name)
-            if os.path.isdir(name):
-                walk_with_symlinks(name, func, arg)
-
-
-def get_test_files(cfg):
-    """Return a list of test module filenames."""
-    matcher = compile_matcher(cfg.pathname_regex)
-    allresults = []
-    testdir_names = []
-    if cfg.functional_tests:
-        testdir_names.append('ftests')
-    if cfg.unit_tests:
-        testdir_names.append('tests')
-    baselen = len(cfg.basedir) + 1
-    def visit(ignored, dir, files):
-        # Ignore files starting with a dot.
-        # Do not not descend into subdirs containing a dot.
-        remove = []
-        for idx, file in enumerate(files):
-            if file.startswith('.'):
-                remove.append(idx)
-            elif '.' in file and os.path.isdir(os.path.join(dir, file)):
-                remove.append(idx)
-        remove.reverse()
-        for idx in remove:
-            del files[idx]
-        # Skip non-test directories, but look for tests.py and/or ftests.py
-        if os.path.basename(dir) != testdir_name:
-            if testdir_name + '.py' in files:
-                path = os.path.join(dir, testdir_name + '.py')
-                if matcher(path[baselen:]):
-                    results.append(path)
-            return
-        if '__init__.py' not in files:
-            print >> sys.stderr, "%s is not a package" % dir
-            return
-        for file in files:
-            if file.startswith('test') and file.endswith('.py'):
-                path = os.path.join(dir, file)
-                if matcher(path[baselen:]):
-                    results.append(path)
-    if cfg.follow_symlinks:
-        walker = walk_with_symlinks
-    else:
-        walker = os.path.walk
-
-    for testdir_name in testdir_names:
-        results = []
-        for dir in cfg.search_in:
-            walker(dir, visit, None)
-        results.sort()
-        allresults += results
-
-    return allresults
-
-
-def import_module(filename, cfg, tracer=None):
-    """Import and return a module."""
-    filename = os.path.splitext(filename)[0]
-    if filename.startswith(cfg.basedir):
-        filename = filename[len(cfg.basedir):]
-    modname = filename.replace(os.path.sep, '.')
-    if modname.startswith('.'):
-        modname = modname[1:]
-    if tracer is not None:
-        mod = tracer.runfunc(__import__, modname)
-    else:
-        mod = __import__(modname)
-    components = modname.split('.')
-    for comp in components[1:]:
-        mod = getattr(mod, comp)
-    return mod
-
-
-# Classess passed to isinstance to see whether a test is a DocFileCase.
-# There's doctest.DocFileCase (if you have Python 2.4), and then there might be
-# zope.testing.doctest.DocFileCase.
-if hasattr(doctest, 'DocFileCase'):
-    DocFileCase_classes = (doctest.DocFileCase,)
-else:
-    DocFileCase_classes = ()
-
-
-def name_of_test(test, basedir=None):
-    """Return the name of a test.
-
-    In most cases the name will be "package.module.class.method", however it
-    is different for doctest files, where it will be "subdir/subdir/filename".
-    """
-    if isinstance(test, DocFileCase_classes):
-        # test.id() returns something like "README_txt", while str(test)
-        # returns the pathname
-        doctest_filename = os.path.abspath(str(test))
-        if basedir and doctest_filename.startswith(basedir + '/'):
-            doctest_filename = doctest_filename[len(basedir) + 1:]
-        return doctest_filename
-    else:
-        # test.id() returns something like
-        # "package.module.TestClass.test_method", while str(test)
-        # returns "test_method (package.module.TestClass)".
-        return test.id()
-
-
-def filter_testsuite(suite, matcher, level=None, basedir=None):
-    """Return a flattened list of test cases that match the given matcher."""
-    if not isinstance(suite, unittest.TestSuite):
-        raise TypeError('not a TestSuite', suite)
-    results = []
-    for test in suite._tests:
-        if level is not None and getattr(test, 'level', 0) > level:
-            continue
-        if isinstance(test, unittest.TestCase):
-            testname = name_of_test(test, basedir)
-            if matcher(testname):
-                results.append(test)
-        else:
-            filtered = filter_testsuite(test, matcher, level, basedir)
-            results.extend(filtered)
-    return results
-
-
-def get_all_test_cases(module):
-    """Return a list of all test case classes defined in a given module."""
-    results = []
-    for name in dir(module):
-        if not name.startswith('Test'):
-            continue
-        item = getattr(module, name)
-        if (isinstance(item, (type, types.ClassType)) and
-            issubclass(item, unittest.TestCase)):
-            results.append(item)
-    return results
-
-
-def get_test_classes_from_testsuite(suite):
-    """Return a set of test case classes used in a test suite."""
-    if not isinstance(suite, unittest.TestSuite):
-        raise TypeError('not a TestSuite', suite)
-    results = Set()
-    for test in suite._tests:
-        if isinstance(test, unittest.TestCase):
-            results.add(test.__class__)
-        else:
-            classes = get_test_classes_from_testsuite(test)
-            results.update(classes)
-    return results
-
-
-def get_test_cases(test_files, cfg, tracer=None):
-    """Return a list of test cases from a given list of test modules."""
-    matcher = compile_matcher(cfg.test_regex)
-    results = []
-    startTime = time.time()
-    for file in test_files:
-        module = import_module(file, cfg, tracer=tracer)
-        try:
-            func = module.test_suite
-        except AttributeError:
-            print >> sys.stderr
-            print >> sys.stderr, ("%s: WARNING: there is no test_suite"
-                                  " function" % file)
-            print >> sys.stderr
-            continue
-        if tracer is not None:
-            test_suite = tracer.runfunc(func)
-        else:
-            test_suite = func()
-        if test_suite is None:
-            continue
-        if cfg.warn_omitted:
-            all_classes = Set(get_all_test_cases(module))
-            classes_in_suite = get_test_classes_from_testsuite(test_suite)
-            difference = all_classes - classes_in_suite
-            for test_class in difference:
-                # surround the warning with blank lines, otherwise it tends
-                # to get lost in the noise
-                print >> sys.stderr
-                print >> sys.stderr, ("%s: WARNING: %s not in test suite"
-                                      % (file, test_class.__name__))
-                print >> sys.stderr
-        if (cfg.level is not None and
-            getattr(test_suite, 'level', 0) > cfg.level):
-            continue
-        filtered = filter_testsuite(test_suite, matcher, cfg.level, cfg.basedir)
-        results.extend(filtered)
-    stopTime = time.time()
-    timeTaken = float(stopTime - startTime)
-    if cfg.print_import_time:
-        nmodules = len(test_files)
-        plural = (nmodules != 1) and 's' or ''
-        print "Imported %d module%s in %.3fs" % (nmodules, plural, timeTaken)
-        print
-    return results
-
-
-def get_test_hooks(test_files, cfg, tracer=None):
-    """Return a list of test hooks from a given list of test modules."""
-    dirs = Set(map(os.path.dirname, test_files))
-    for dir in list(dirs):
-        if os.path.basename(dir) == 'ftests':
-            dirs.add(os.path.join(os.path.dirname(dir), 'tests'))
-    dirs = list(dirs)
-    dirs.sort()
-    hook_modules = []
-    for dir in dirs:
-        filename = os.path.join(dir, 'checks.py')
-        if os.path.exists(filename):
-            module = import_module(filename, cfg, tracer=tracer)
-            hook_modules.append(module)
-    # Also look in a a directory 'testsupport' which is a sibling of
-    # cfg.basedir
-    dir = os.path.join(os.path.dirname(cfg.basedir), 'testsupport')
-    filename = os.path.join(dir, 'checks.py')
-    if os.path.exists(filename):
-        sys.path.insert(0, dir)
-        try:
-            module = import_module('checks.py', cfg, tracer=tracer)
-            hook_modules.append(module)
-        finally:
-            del sys.path[0]
-    results = []
-    for module in hook_modules:
-        if tracer is not None:
-            hooks = tracer.runfunc(module.test_hooks)
-        else:
-            hooks = module.test_hooks()
-        results.extend(hooks)
-    return results
-
-
-def extract_tb(tb, limit=None):
-    """Improved version of traceback.extract_tb.
-
-    Includes a dict with locals in every stack frame instead of the line.
-    """
-    list = []
-    while tb is not None and (limit is None or len(list) < limit):
-        frame = tb.tb_frame
-        code = frame.f_code
-        name = code.co_name
-        filename = code.co_filename
-        lineno = tb.tb_lineno
-        locals = frame.f_locals
-        list.append((filename, lineno, name, locals))
-        tb = tb.tb_next
-    return list
-
-
-
-colorcodes = {'gray': 0, 'red': 1, 'green': 2, 'yellow': 3,
-              'blue': 4, 'magenta': 5, 'cyan': 6, 'white': 7}
-
-dark_colormap = { # Color scheme for dark backgrounds
-            'fail': 'red',
-            'pass': 'green',
-            'count': 'white',
-            'title': 'white',
-            'separator': 'dark white',
-            'longtestname': 'yellow',
-            'filename': 'dark green',
-            'lineno': 'green',
-            'testname': 'dark yellow',
-            'excname': 'red',
-            'excstring': 'yellow',
-            'tbheader': 'dark white',
-            'doctest_ignored': 'gray',
-            'doctest_title': 'dark white',
-            'doctest_code': 'yellow',
-            'doctest_expected': 'green',
-            'doctest_got': 'red',
-            'diff_expected': 'red',
-            'diff_actual': 'green',
-            'diff_context': 'dark white',
-            'diff_inline': 'gray'}
-
-light_colormap = { # Color scheme for light backgrounds
-            'fail': 'red',
-            'pass': 'dark green',
-            'count': 'dark green',
-            'title': 'red',
-            'separator': 'dark white',
-            'longtestname': 'dark red',
-            'filename': 'dark green',
-            'lineno': 'dark magenta',
-            'testname': 'dark yellow',
-            'excname': 'red',
-            'excstring': 'dark yellow',
-            'tbheader': 'gray',
-            'doctest_ignored': 'dark white',
-            'doctest_title': 'gray',
-            'doctest_code': 'dark blue',
-            'doctest_expected': 'dark green',
-            'doctest_got': 'dark red',
-            'diff_expected': 'dark red',
-            'diff_actual': 'dark green',
-            'diff_context': 'dark gray',
-            'diff_inline': 'dark magenta'}
-
-
-class Colorizer(object):
-
-    def __init__(self, colormap):
-        self.colormap = colormap
-
-    def colorize(self, texttype, text):
-        """Colorize text by ANSI escape codes in a color provided in colormap."""
-        color = self.colormap[texttype]
-        if color.startswith('dark '):
-            light = 0
-            color = color[len('dark '):] # strip the 'dark' prefix
-        else:
-            light = 1
-        code = 30 + colorcodes[color]
-        return '\033[%d;%dm' % (light, code) + text + '\033[0m'
-
-    def colorize_ndiff(self, lines):
-        """Colorize ndiff output.
-
-        Returns a new sequence of colored strings.
-
-        `lines` is a sequence of strings.
-
-        Typical input:
-
-              Some context lines
-            - This line was removed
-              Some context
-            + This line was added
-              Some context
-            - This line esd chnged
-            ?           ^^^     -
-            + This line was changd
-            ?           ^^^   + 
-              Some context
-
-        """
-        result = []
-        for line in lines:
-            if line.startswith('    -'):
-                result.append(self.colorize('diff_expected', line))
-            elif line.startswith('    +'):
-                result.append(self.colorize('diff_actual', line))
-            elif line.startswith('    ?'):
-                result.append(self.colorize('diff_inline', line))
-            else:
-                result.append(self.colorize('diff_context', line))
-        return result
-
-    def colorize_zope_doctest_output(self, lines):
-        """Colorize output formatted by the doctest engine included with Zope 3.
-
-        Returns a new sequence of colored strings.
-
-        `lines` is a sequence of strings.
-
-        The typical structure of the doctest output looks either like this:
-
-            File "...", line 123, in foo.bar.baz.doctest_quux
-            Failed example:
-                f(2, 3)
-            Expected:
-                6
-            Got:
-                5
-
-        Or, if an exception has occured, like this:
-
-            File "...", line 123, in foo.bar.baz.doctest_quux
-            Failed example:
-                f(2, 3)
-            Exception raised:
-                Traceback (most recent call last):
-                  File "...", line 123, in __init__
-                    self.do_something(a, b, c)
-                  File "...", line ...
-                    ...
-                FooError: something bad happened
-
-        If some assumption made by this function is not met, the original sequence
-        is returned without any modifications.
-        """
-        # XXX bug: doctest may report several failures in one test, they are
-        #          separated by a horizontal dash line.  Only the first one of
-        #          them is now colorized properly.
-        header = lines[0]
-        if not header.startswith('File "'):
-            return lines # not a doctest failure report?
-
-        # Dissect the header in a rather nasty way.
-        header = header[len('File "'):]
-        fn_end = header.find('"')
-        if fn_end == -1:
-            return lines
-        filename = header[:fn_end]
-        header = header[fn_end+len('", line '):]
-        parts = header.split(', in ')
-        if len(parts) != 2:
-            lineno = header
-            filename = self.colorize('filename', filename)
-            lineno = self.colorize('lineno', lineno)
-            result = ['File "%s", line %s' % (filename, lineno)]
-        else:
-            lineno, testname = parts
-            filename = self.colorize('filename', filename)
-            lineno = self.colorize('lineno', lineno)
-            testname = self.colorize('testname', testname)
-            result = ['File "%s", line %s, in %s' % (filename, lineno, testname)]
-
-        # Colorize the 'Failed example:' section.
-        if lines[1] != 'Failed example:':
-            return lines
-        result.append(self.colorize('doctest_title', lines[1]))
-        remaining = lines[2:]
-        terminators = ['Expected:', 'Expected nothing', 'Exception raised:',
-                       'Differences (ndiff with -expected +actual):']
-        while remaining and remaining[0] not in terminators:
-            line = remaining.pop(0)
-            result.append(self.colorize('doctest_code', line))
-        if not remaining:
-            return lines
-
-        if remaining[0] in ('Expected:', 'Expected nothing'):
-            result.append(self.colorize('doctest_title', remaining.pop(0))) # Expected:
-            while remaining and remaining[0] not in ('Got:', 'Got nothing'):
-                line = remaining.pop(0)
-                result.append(self.colorize('doctest_expected', line))
-            if not remaining or remaining[0] not in ('Got:', 'Got nothing'):
-                return lines
-            result.append(self.colorize('doctest_title', remaining.pop(0))) # Got:
-            while remaining:
-                line = remaining.pop(0)
-                result.append(self.colorize('doctest_got', line))
-        elif remaining[0] == 'Exception raised:':
-            result.append(self.colorize('doctest_title', remaining.pop(0))) # E. raised:
-            while remaining:
-                line = remaining.pop(0)
-                # TODO: Scrape and colorize the traceback.
-                result.append(self.colorize('doctest_got', line))
-        elif remaining[0] == 'Differences (ndiff with -expected +actual):':
-            result.append(self.colorize('doctest_title', remaining.pop(0))) # E. raised:
-            result.extend(self.colorize_ndiff(remaining))
-        else:
-            return lines
-
-        return result
-
-    def colorize_exception_only(self, lines):
-        """Colorize result of traceback.format_exception_only."""
-        if len(lines) > 1:
-            return lines # SyntaxError?  We won't deal with that for now.
-        lines = lines[0].splitlines()
-
-        # First, colorize the first line, which usually contains the name
-        # and the string of the exception.
-        result = []
-        doctest = 'Failed doctest test for' in lines[0]
-        # TODO: We only deal with the output from Zope 3's doctest module.
-        #       A colorizer for the Python's doctest module would be nice too.
-        if doctest:
-            # If we have a doctest, we do not care about this header.  All the
-            # interesting things are below, formatted by the doctest runner.
-            for lineno in range(4):
-                result.append(self.colorize('doctest_ignored', lines[lineno]))
-            beef = self.colorize_zope_doctest_output(lines[4:])
-            result.extend(beef)
-            return '\n'.join(result)
-        else:
-            # A simple exception.  Try to colorize the first row, leave others be.
-            excline = lines[0].split(': ', 1)
-            if len(excline) == 2:
-                excname = self.colorize('excname', excline[0])
-                excstring = self.colorize('excstring', excline[1])
-                result.append('%s: %s' % (excname, excstring))
-            else:
-                result.append(self.colorize('excstring', lines[0]))
-            result.extend(lines[1:])
-            return '\n'.join(result)
-
-
-def format_exception(etype, value, tb, limit=None, basedir=None,
-                     colorizer=None):
-    """Improved version of traceback.format_exception.
-
-    Includes Zope-specific extra information in tracebacks.
-
-    If colorizer is not None, it is used to colorize the output.
-    """
-    color = (colorizer is not None)
-    if color:
-        colorize = colorizer.colorize
-    # Show stack trace.
-    list = []
-    if tb:
-        list = ['Traceback (most recent call last):\n']
-        if color:
-            list[0] = colorize('tbheader', list[0])
-        w = list.append
-
-        for filename, lineno, name, locals in extract_tb(tb, limit):
-            line = linecache.getline(filename, lineno)
-            if color and 'zope/testing/doctest.py' not in filename:
-                filename = colorize('filename', filename)
-                lineno = colorize('lineno', str(lineno))
-                name = colorize('testname', name)
-                w('  File "%s", line %s, in %s\n' % (filename, lineno, name))
-                if line:
-                    w('    %s\n' % line.strip())
-            elif color:
-                s = '  File "%s", line %s, in %s\n' % (filename, lineno, name)
-                w(colorize('doctest_ignored', s))
-                if line:
-                    w('    %s\n' % colorize('doctest_ignored', line.strip()))
-            else:
-                w('  File "%s", line %s, in %s\n' % (filename, lineno, name))
-                if line:
-                    w('    %s\n' % line.strip())
-
-            tb_info = locals.get('__traceback_info__')
-            if tb_info is not None:
-                w('  Extra information: %s\n' % repr(tb_info))
-            tb_supplement = locals.get('__traceback_supplement__')
-            if tb_supplement is not None:
-                tb_supplement = tb_supplement[0](*tb_supplement[1:])
-                # TODO these should be hookable
-                from zope.tales.tales import TALESTracebackSupplement
-                from zope.pagetemplate.pagetemplate \
-                        import PageTemplateTracebackSupplement
-                if isinstance(tb_supplement, PageTemplateTracebackSupplement):
-                    template = tb_supplement.manageable_object.pt_source_file()
-                    if template:
-                        w('  Template "%s"\n' % template)
-                elif isinstance(tb_supplement, TALESTracebackSupplement):
-                    w('  Template "%s", line %s, column %s\n'
-                      % (tb_supplement.source_url, tb_supplement.line,
-                         tb_supplement.column))
-                    line = linecache.getline(tb_supplement.source_url,
-                                             tb_supplement.line)
-                    if line:
-                        w('    %s\n' % line.strip())
-                    w('  Expression: %s\n' % tb_supplement.expression)
-                else:
-                    w('  __traceback_supplement__ = %r\n' % (tb_supplement, ))
-
-    # Add the representation of the exception itself.
-    lines = traceback.format_exception_only(etype, value)
-    if color:
-        lines = colorizer.colorize_exception_only(lines)
-    list.extend(lines)
-
-    return list
-
-
-class CustomTestResult(unittest._TextTestResult):
-    """Customised TestResult.
-
-    It can show a progress bar, and displays tracebacks for errors and failures
-    as soon as they happen, in addition to listing them all at the end.
-    """
-
-    __super = unittest._TextTestResult
-    __super_init = __super.__init__
-    __super_startTest = __super.startTest
-    __super_stopTest = __super.stopTest
-    __super_printErrors = __super.printErrors
-    __super_printErrorList = __super.printErrorList
-
-    def __init__(self, stream, descriptions, verbosity, count, cfg, hooks):
-        self.__super_init(stream, descriptions, verbosity)
-        self.count = count
-        self.cfg = cfg
-        self.hooks = hooks
-        if cfg.progress:
-            self.dots = False
-            self._lastWidth = 0
-            self._maxWidth = cfg.screen_width - len("xxxx/xxxx (xxx.x%): ") - 1
-
-    def startTest(self, test):
-        n = self.testsRun + 1
-        if self.cfg.progress:
-            # verbosity == 0: 'xxxx/xxxx (xxx.x%)'
-            # verbosity == 1: 'xxxx/xxxx (xxx.x%): test name'
-            # verbosity >= 2: 'xxxx/xxxx (xxx.x%): test name ... ok'
-            self.stream.write("\r%4d" % n)
-            if self.count:
-                self.stream.write("/%d (%5.1f%%)"
-                                  % (self.count, n * 100.0 / self.count))
-            if self.showAll: # self.cfg.verbosity == 1
-                self.stream.write(": ")
-            elif self.cfg.verbosity:
-                name = self.getShortDescription(test)
-                width = len(name)
-                if width < self._lastWidth:
-                    name += " " * (self._lastWidth - width)
-                self.stream.write(": %s" % name)
-                self._lastWidth = width
-            self.stream.flush()
-        self.__super_startTest(test)  # increments testsRun by one and prints
-        self.testsRun = n # override the testsRun calculation
-        for hook in self.hooks:
-            hook.startTest(test)
-
-    def stopTest(self, test):
-        for hook in self.hooks:
-            hook.stopTest(test)
-        self.__super_stopTest(test)
-
-    def getDescription(self, test):
-        return name_of_test(test, self.cfg.basedir)
-
-    def getShortDescription(self, test):
-        s = name_of_test(test, self.cfg.basedir)
-        if len(s) > self._maxWidth:
-            # In most cases s is "package.module.class.method".
-            # Try to keep the method name intact, and replace the middle
-            # part of "package.module.class" with an ellipsis.
-            namelen = len(s.split('.')[-1])
-            left = max(0, (self._maxWidth - namelen) / 2 - 1)
-            right = self._maxWidth - left - 3
-            s = "%s...%s" % (s[:left], s[-right:])
-        return s
-
-    def printErrors(self):
-        w = self.stream.writeln
-        if self.cfg.progress and not (self.dots or self.showAll):
-            w()
-        if self.cfg.immediate_errors and (self.errors or self.failures):
-            if self.cfg.colorizer is not None:
-                w(self.cfg.colorizer.colorize('separator', self.separator1))
-                w(self.cfg.colorizer.colorize('title', "Tests that failed"))
-                w(self.cfg.colorizer.colorize('separator', self.separator2))
-            else:
-                w(self.separator1)
-                w("Tests that failed")
-                w(self.separator2)
-        self.__super_printErrors()
-
-    def formatError(self, err):
-        return "".join(format_exception(basedir=self.cfg.basedir,
-                                        colorizer=self.cfg.colorizer, *err))
-
-    def printTraceback(self, kind, test, err):
-        w = self.stream.writeln
-        if self.cfg.colorizer is not None:
-            c = self.cfg.colorizer.colorize
-        else:
-            c = lambda texttype, text: text
-        w()
-        w(c('separator', self.separator1))
-        kind = c('fail', kind)
-        description = c('longtestname', self.getDescription(test))
-        w("%s: %s" % (kind, description))
-        w(c('separator', self.separator2))
-        w(self.formatError(err))
-        w()
-
-    def addFailure(self, test, err):
-        if self.cfg.immediate_errors:
-            self.printTraceback("FAIL", test, err)
-        if self.cfg.postmortem:
-            pdb.post_mortem(sys.exc_info()[2])
-        self.failures.append((test, self.formatError(err)))
-
-    def addError(self, test, err):
-        if self.cfg.immediate_errors:
-            self.printTraceback("ERROR", test, err)
-        if self.cfg.postmortem:
-            pdb.post_mortem(sys.exc_info()[2])
-        self.errors.append((test, self.formatError(err)))
-
-    def printErrorList(self, flavour, errors):
-        if self.cfg.immediate_errors:
-            for test, err in errors:
-                description = self.getDescription(test)
-                self.stream.writeln("%s: %s" % (flavour, description))
-        else:
-            self.__super_printErrorList(flavour, errors)
-
-
-class CustomTestRunner(unittest.TextTestRunner):
-    """Customised TestRunner.
-
-    See CustomisedTextResult for a list of extensions.
-    """
-
-    __super = unittest.TextTestRunner
-    __super_init = __super.__init__
-    __super_run = __super.run
-
-    def __init__(self, cfg, hooks=None, stream=sys.stderr, count=None):
-        self.__super_init(verbosity=cfg.verbosity, stream=stream)
-        self.cfg = cfg
-        if hooks is not None:
-            self.hooks = hooks
-        else:
-            self.hooks = []
-        self.count = count
-
-    def run(self, test):
-        """Run the given test case or test suite."""
-        if self.count is None:
-            self.count = test.countTestCases()
-        if self.cfg.colorizer is not None:
-            c = self.cfg.colorizer.colorize
-        else:
-            c = lambda texttype, text: text
-        result = self._makeResult()
-        startTime = time.time()
-        test(result)
-        stopTime = time.time()
-        timeTaken = float(stopTime - startTime)
-        result.printErrors()
-        run = result.testsRun
-        if not self.cfg.quiet:
-            self.stream.writeln(c('separator', result.separator2))
-            run_str = c('count', str(run))
-            time_str = c('count', '%.3f' % timeTaken)
-            self.stream.writeln("Ran %s test%s in %ss" %
-                                (run_str, run != 1 and "s" or "", time_str))
-            self.stream.writeln()
-        if not result.wasSuccessful():
-            self.stream.write(c('fail', "FAILED"))
-
-            failed, errored = map(len, (result.failures, result.errors))
-            if failed:
-                self.stream.write(" (failures=%s" % c('count', str(failed)))
-            if errored:
-                if failed: self.stream.write(", ")
-                else: self.stream.write("(")
-                self.stream.write("errors=%s" % c('count', str(errored)))
-            self.stream.writeln(")")
-        elif not self.cfg.quiet:
-            self.stream.writeln(c('pass', "OK"))
-        return result
-
-    def _makeResult(self):
-        return CustomTestResult(self.stream, self.descriptions, self.verbosity,
-                                cfg=self.cfg, count=self.count,
-                                hooks=self.hooks)
-
-
-def main(argv):
-    """Main program."""
-
-    # Environment
-    if sys.version_info < (2, 3):
-        print >> sys.stderr, '%s: need Python 2.3 or later' % argv[0]
-        print >> sys.stderr, 'your python is %s' % sys.version
-        return 1
-
-    # Defaults
-    cfg = Options()
-    if not cfg.basedir:
-        cfg.basedir = os.path.join(os.path.dirname(argv[0]), 'src')
-    cfg.basedir = os.path.abspath(cfg.basedir)
-
-    # Figure out terminal size
-    try:
-        import curses
-    except ImportError:
-        pass
-    else:
-        try:
-            curses.setupterm()
-            cols = curses.tigetnum('cols')
-            if cols > 0:
-                cfg.screen_width = cols
-        except curses.error:
-            pass
-
-    # Option processing
-    try:
-        opts, args = getopt.gnu_getopt(argv[1:], 'hvpcCqufwd1s:',
-                               ['list-files', 'list-tests', 'list-hooks',
-                                'level=', 'all-levels', 'coverage',
-                                'search-in=', 'immediate-errors',
-                                'delayed-errors', 'help'])
-    except getopt.error, e:
-        print >> sys.stderr, '%s: %s' % (argv[0], e)
-        print >> sys.stderr, 'run %s -h for help' % argv[0]
-        return 1
-    for k, v in opts:
-        if k in ['-h', '--help']:
-            print __doc__
-            return 0
-        elif k == '-v':
-            cfg.verbosity += 1
-            cfg.quiet = False
-        elif k == '-p':
-            cfg.progress = True
-            cfg.quiet = False
-        elif k == '-c':
-            cfg.colorizer = Colorizer(dark_colormap)
-        elif k == '-C':
-            cfg.colorizer = Colorizer(light_colormap)
-        elif k == '-q':
-            cfg.verbosity = 0
-            cfg.progress = False
-            cfg.quiet = True
-        elif k == '-u':
-            cfg.unit_tests = True
-        elif k == '-f':
-            cfg.functional_tests = True
-        elif k == '-d':
-            cfg.postmortem = True
-        elif k == '-w':
-            cfg.warn_omitted = True
-        elif k == '-1':
-            cfg.first_doctest_failure = True
-        elif k == '--list-files':
-            cfg.list_files = True
-            cfg.run_tests = False
-        elif k == '--list-tests':
-            cfg.list_tests = True
-            cfg.run_tests = False
-        elif k == '--list-hooks':
-            cfg.list_hooks = True
-            cfg.run_tests = False
-        elif k == '--coverage':
-            cfg.coverage = True
-        elif k == '--level':
-            try:
-                cfg.level = int(v)
-            except ValueError:
-                print >> sys.stderr, '%s: invalid level: %s' % (argv[0], v)
-                print >> sys.stderr, 'run %s -h for help' % argv[0]
-                return 1
-        elif k == '--all-levels':
-            cfg.level = None
-        elif k in ('-s', '--search-in'):
-            dir = os.path.abspath(v)
-            if not dir.startswith(cfg.basedir):
-                print >> sys.stderr, ('%s: argument to --search-in (%s) must'
-                                      ' be a subdir of %s'
-                                      % (argv[0], v, cfg.basedir))
-                return 1
-            cfg.search_in += (dir, )
-        elif k == '--immediate-errors':
-            cfg.immediate_errors = True
-        elif k == '--delayed-errors':
-            cfg.immediate_errors = False
-        else:
-            print >> sys.stderr, '%s: invalid option: %s' % (argv[0], k)
-            print >> sys.stderr, 'run %s -h for help' % argv[0]
-            return 1
-    if args:
-        cfg.pathname_regex = args[0]
-    if len(args) > 1:
-        cfg.test_regex = args[1]
-    if len(args) > 2:
-        print >> sys.stderr, '%s: too many arguments: %s' % (argv[0], args[2])
-        print >> sys.stderr, 'run %s -h for help' % argv[0]
-        return 1
-    if not cfg.unit_tests and not cfg.functional_tests:
-        cfg.unit_tests = True
-
-    if not cfg.search_in:
-        cfg.search_in = (cfg.basedir, )
-
-    # Do not print "Imported %d modules in %.3fs" if --list-* was specified
-    # or if quiet mode is enabled.
-    if cfg.quiet or cfg.list_tests or cfg.list_hooks or cfg.list_files:
-        cfg.print_import_time = False
-
-    # Set up the python path
-    sys.path[0] = cfg.basedir
-    # XXX The following bit is SchoolTool specific: we need the Zope3 tree in
-    #     sys.path, in addition to basedir.
-    sys.path.insert(1, os.path.join(os.path.dirname(cfg.basedir),
-                                    'Zope3', 'src'))
-
-    # Set up tracing before we start importing things
-    tracer = None
-    if cfg.run_tests and cfg.coverage:
-        import trace
-        # trace.py in Python 2.3.1 is buggy:
-        # 1) Despite sys.prefix being in ignoredirs, a lot of system-wide
-        #    modules are included in the coverage reports
-        # 2) Some module file names do not have the first two characters,
-        #    and in general the prefix used seems to be arbitrary
-        # These bugs are fixed in src/trace.py which should be in PYTHONPATH
-        # before the official one.
-        ignoremods = ['test']
-        ignoredirs = [sys.prefix, sys.exec_prefix]
-        tracer = trace.Trace(count=True, trace=False,
-                    ignoremods=ignoremods, ignoredirs=ignoredirs)
-
-    # Configure doctests
-    if cfg.first_doctest_failure:
-        import doctest
-        # The doctest module in Python 2.3 does not have this feature
-        if hasattr(doctest, 'REPORT_ONLY_FIRST_FAILURE'):
-            doctest.set_unittest_reportflags(doctest.REPORT_ONLY_FIRST_FAILURE)
-        # Also apply the flag to zope.testing.doctest, if it exists
-        try:
-            from zope.testing import doctest
-            doctest.set_unittest_reportflags(doctest.REPORT_ONLY_FIRST_FAILURE)
-        except ImportError:
-            pass
-
-    # Make sure we can identify doctests before we start the filtering
-    try:
-        import zope.testing.doctest
-        global DocFileCase_classes
-        DocFileCase_classes += (zope.testing.doctest.DocFileCase,)
-    except ImportError:
-        pass
-
-    # Finding and importing
-    test_files = get_test_files(cfg)
-    if cfg.list_tests or cfg.run_tests:
-        test_cases = get_test_cases(test_files, cfg, tracer=tracer)
-    if cfg.list_hooks or cfg.run_tests:
-        test_hooks = get_test_hooks(test_files, cfg, tracer=tracer)
-
-    # Configure the logging module
-    import logging
-    logging.basicConfig()
-    logging.root.setLevel(logging.CRITICAL)
-
-    # Running
-    success = True
-    if cfg.list_files:
-        baselen = len(cfg.basedir) + 1
-        print "\n".join([fn[baselen:] for fn in test_files])
-    if cfg.list_tests:
-        print "\n".join([name_of_test(test, cfg.basedir)
-                         for test in test_cases])
-    if cfg.list_hooks:
-        print "\n".join([str(hook) for hook in test_hooks])
-    if cfg.run_tests:
-        runner = CustomTestRunner(cfg, test_hooks, count=len(test_cases))
-        suite = unittest.TestSuite()
-        suite.addTests(test_cases)
-        if tracer is not None:
-            success = tracer.runfunc(runner.run, suite).wasSuccessful()
-            results = tracer.results()
-            results.write_results(show_missing=True, coverdir=cfg.coverdir)
-        else:
-            success = runner.run(suite).wasSuccessful()
-
-    # That's all
-    if success:
-        return 0
-    else:
-        return 1
-
-
-if __name__ == '__main__':
-    exitcode = main(sys.argv)
-    sys.exit(exitcode)




More information about the pkg-zope-commits mailing list