Mercurial > p > roundup > code
comparison roundup/backends/back_anydbm.py @ 4347:0e33bf5571dc
make some more memorydb tests pass
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 05 Feb 2010 05:10:52 +0000 |
| parents | 94c992852f12 |
| children | 1f89953f8c8a |
comparison
equal
deleted
inserted
replaced
| 4346:4dc575b33712 | 4347:0e33bf5571dc |
|---|---|
| 782 node, an IndexError is raised. | 782 node, an IndexError is raised. |
| 783 | 783 |
| 784 These operations trigger detectors and can be vetoed. Attempts | 784 These operations trigger detectors and can be vetoed. Attempts |
| 785 to modify the "creation" or "activity" properties cause a KeyError. | 785 to modify the "creation" or "activity" properties cause a KeyError. |
| 786 """ | 786 """ |
| 787 if self.db.journaltag is None: | |
| 788 raise hyperdb.DatabaseError, _('Database open read-only') | |
| 787 self.fireAuditors('create', None, propvalues) | 789 self.fireAuditors('create', None, propvalues) |
| 788 newid = self.create_inner(**propvalues) | 790 newid = self.create_inner(**propvalues) |
| 789 self.fireReactors('create', newid, None) | 791 self.fireReactors('create', newid, None) |
| 790 return newid | 792 return newid |
| 791 | 793 |
| 1043 node id, a ValueError is raised. | 1045 node id, a ValueError is raised. |
| 1044 | 1046 |
| 1045 These operations trigger detectors and can be vetoed. Attempts | 1047 These operations trigger detectors and can be vetoed. Attempts |
| 1046 to modify the "creation" or "activity" properties cause a KeyError. | 1048 to modify the "creation" or "activity" properties cause a KeyError. |
| 1047 """ | 1049 """ |
| 1050 if self.db.journaltag is None: | |
| 1051 raise hyperdb.DatabaseError, _('Database open read-only') | |
| 1052 | |
| 1048 self.fireAuditors('set', nodeid, propvalues) | 1053 self.fireAuditors('set', nodeid, propvalues) |
| 1049 oldvalues = copy.deepcopy(self.db.getnode(self.classname, nodeid)) | 1054 oldvalues = copy.deepcopy(self.db.getnode(self.classname, nodeid)) |
| 1050 for name,prop in self.getprops(protected=0).items(): | 1055 for name,prop in self.getprops(protected=0).items(): |
| 1051 if oldvalues.has_key(name): | 1056 if oldvalues.has_key(name): |
| 1052 continue | 1057 continue |
| 1388 raise TypeError, 'No key property set for class %s'%self.classname | 1393 raise TypeError, 'No key property set for class %s'%self.classname |
| 1389 cldb = self.db.getclassdb(self.classname) | 1394 cldb = self.db.getclassdb(self.classname) |
| 1390 try: | 1395 try: |
| 1391 for nodeid in self.getnodeids(cldb): | 1396 for nodeid in self.getnodeids(cldb): |
| 1392 node = self.db.getnode(self.classname, nodeid, cldb) | 1397 node = self.db.getnode(self.classname, nodeid, cldb) |
| 1398 print (nodeid, node, node[self.key], keyvalue) | |
| 1393 if node.has_key(self.db.RETIRED_FLAG): | 1399 if node.has_key(self.db.RETIRED_FLAG): |
| 1394 continue | 1400 continue |
| 1395 if not node.has_key(self.key): | 1401 if not node.has_key(self.key): |
| 1396 continue | 1402 continue |
| 1397 if node[self.key] == keyvalue: | 1403 if node[self.key] == keyvalue: |
