~azzar1/unity/add-show-desktop-key

  • Committer: mattgiuca
  • Date: 2008-02-22 00:53:35 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:540
Refactored error handling and reporting. Much friendlier error messages, for
both developers and users.

Note that PythonDebug is now going to be ignored. IVLE itself selects when to
display a traceback. (So IVLE will display tracebacks even in a production
environment, for internal server errors).

common/util.py: Added class IVLEError, which is now used for throwing
user-readable errors inside IVLE instead of throwing apache SERVER_RETURN
exceptions.

dispatch/request: throw_error now throws an IVLEError instead of a
SERVER_RETURN. It also takes a new argument, "message", which can be used to
place an optional message inside the exception which will be displayed to the
user.
Finally, added a method get_http_codename which returns the name and
description of common HTTP error codes. (Used to report errors which don't
have a message supplied).

dispatch/__init__: Added a wrapper around handler which catches all exceptions
thrown out of IVLE.
The handler for this selectively handles exceptions.
4xx level exceptions thrown are user errors, so these are reported in a very
friendly way, with no traceback, and in the familiar IVLE environment.
5xx level exceptions and any other exceptions are reported in a minimal
environment (to avoid cascading errors) with a traceback and a request for the
user to report it to the administrators.

As many calls to req.throw_error as possible should now have a message
included, to make identifying errors easier.
Filename Latest Rev Last Changed Committer Comment Size
..
doc 1 16 years ago drtomc An initial checkin. Diff
exercises 512 16 years ago stevenbird Renaming of problems to exercises (initial commit) Diff
file-tools 405 16 years ago drtomc Version 0 of the file manipulation tools to allow Diff
home 400 16 years ago stevenbird first commit of homepage at ivle.sourceforge.net, Diff
lib 409 16 years ago mattgiuca Moved www/conf and www/common to a new directory l Diff
platform 1 16 years ago drtomc An initial checkin. Diff
prototypes 9 16 years ago mattgiuca Added prototypes directory. Added ajax file browse Diff
scripts 418 16 years ago mattgiuca Renamed trunk/console to trunk/scripts. We are now Diff
subjects 313 16 years ago mattgiuca test/test_framework: Updated examples, a bit of be Diff
test 201 16 years ago mattgiuca Added "test" directory. Added make_date_test.py, a Diff
trampoline 144 16 years ago mattgiuca Trunk, and all subdirectories with Python files: Diff
userdb 25 16 years ago drtomc A bit more work on the userdb stuff. Diff
www 144 16 years ago mattgiuca Trunk, and all subdirectories with Python files: Diff
LICENSE.txt 7 16 years ago stevenbird GPL license 17.5 KB Diff Download File
File listusers.py 500 16 years ago mattgiuca db: get_user and get_users now return User objects 1.2 KB Diff Download File
Makefile 103 16 years ago mattgiuca Fix to Makefile. 238 bytes Diff Download File
File makeuser.py 529 16 years ago mattgiuca setup.py: Fixed copytree; now able to handle copyi 3.4 KB Diff Download File
File remakeuser.py 418 16 years ago mattgiuca Renamed trunk/console to trunk/scripts. We are now 1.8 KB Diff Download File
File setup.py 531 16 years ago mattgiuca www/auth: Split authenticate.py into 3 modules: au 40.6 KB Diff Download File