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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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(

Roundup Issue Tracker: http://roundup-tracker.org/