Mercurial > p > roundup > code
annotate scripts/hyperdb_example.py @ 3896:fca0365521fc
ignore client shutdown exceptions when sending responses
patch from Ulrik Miaelsson
If the user clicks the stop button, or click another link before
the previous has finished loading, or something similar an IOError
exception will be raised which results in the admin being sent an
email.
This can understandably be pretty annoying if your users are
doing that on a regular basis. So we'll trap that exception
and ignore it.
| author | Justus Pendleton <jpend@users.sourceforge.net> |
|---|---|
| date | Tue, 11 Sep 2007 21:30:14 +0000 |
| parents | d819ff1b3116 |
| children |
| rev | line source |
|---|---|
|
3537
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 from roundup.hyperdb import String, Number, Multilink |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 from roundup.backends.back_bsddb import Database, Class |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 class config: |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 DATABASE='/tmp/hyperdb_example' |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 db = Database(config, 'admin') |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 spam = Class(db, 'spam', name=String(), size=Number()) |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 widget = Class(db, 'widget', title=String(), spam=Multilink('spam')) |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 oneid = spam.create(name='one', size=1) |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 twoid = spam.create(name='two', size=2) |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 widgetid = widget.create(title='a widget', spam=[oneid, twoid]) |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 # dumb, simple query |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 print widget.find(spam=oneid) |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 print widget.history(widgetid) |
|
d819ff1b3116
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 print widget.search_text( |
