Mercurial > p > roundup > code
comparison roundup/hyperdb.py @ 3743:e754cc14e76a
fix unstable ordering of detectors [SF#1585378]
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Thu, 09 Nov 2006 03:08:22 +0000 |
| parents | 01ea89743311 |
| children | c3af8c6a6b5b |
comparison
equal
deleted
inserted
replaced
| 3742:a9f6eb633452 | 3743:e754cc14e76a |
|---|---|
| 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
| 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" | 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
| 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, | 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
| 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
| 17 # | 17 # |
| 18 # $Id: hyperdb.py,v 1.127 2006-08-30 09:35:31 schlatterbeck Exp $ | 18 # $Id: hyperdb.py,v 1.128 2006-11-09 03:08:22 richard Exp $ |
| 19 | 19 |
| 20 """Hyperdatabase implementation, especially field types. | 20 """Hyperdatabase implementation, especially field types. |
| 21 """ | 21 """ |
| 22 __docformat__ = 'restructuredtext' | 22 __docformat__ = 'restructuredtext' |
| 23 | 23 |
| 1194 # | 1194 # |
| 1195 # Detector interface | 1195 # Detector interface |
| 1196 # | 1196 # |
| 1197 def audit(self, event, detector, priority = 100): | 1197 def audit(self, event, detector, priority = 100): |
| 1198 """Register an auditor detector""" | 1198 """Register an auditor detector""" |
| 1199 self.auditors[event].append((priority, detector)) | 1199 self.auditors[event].append((priority, detector.__name__, detector)) |
| 1200 | 1200 |
| 1201 def fireAuditors(self, event, nodeid, newvalues): | 1201 def fireAuditors(self, event, nodeid, newvalues): |
| 1202 """Fire all registered auditors""" | 1202 """Fire all registered auditors""" |
| 1203 for prio, audit in self.auditors[event]: | 1203 for prio, name, audit in self.auditors[event]: |
| 1204 audit(self.db, self, nodeid, newvalues) | 1204 audit(self.db, self, nodeid, newvalues) |
| 1205 | 1205 |
| 1206 def react(self, event, detector, priority = 100): | 1206 def react(self, event, detector, priority = 100): |
| 1207 """Register a reactor detector""" | 1207 """Register a reactor detector""" |
| 1208 self.reactors[event].append((priority, detector)) | 1208 self.reactors[event].append((priority, detector.__name__, detector)) |
| 1209 | 1209 |
| 1210 def fireReactors(self, event, nodeid, oldvalues): | 1210 def fireReactors(self, event, nodeid, oldvalues): |
| 1211 """Fire all registered reactors""" | 1211 """Fire all registered reactors""" |
| 1212 for prio, react in self.reactors[event]: | 1212 for prio, name, react in self.reactors[event]: |
| 1213 react(self.db, self, nodeid, oldvalues) | 1213 react(self.db, self, nodeid, oldvalues) |
| 1214 | 1214 |
| 1215 # | 1215 # |
| 1216 # import / export support | 1216 # import / export support |
| 1217 # | 1217 # |
