comparison test/memorydb.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 4dc575b33712
children f0faef4dd023
comparison
equal deleted inserted replaced
4346:4dc575b33712 4347:0e33bf5571dc
181 181
182 def filename(self, classname, nodeid, property=None, create=0): 182 def filename(self, classname, nodeid, property=None, create=0):
183 shutil.copyfile(__file__, __file__+'.dummy') 183 shutil.copyfile(__file__, __file__+'.dummy')
184 return __file__+'.dummy' 184 return __file__+'.dummy'
185 185
186 def filesize(self, classname, nodeid, property=None, create=0):
187 return len(self.getnode(classname, nodeid)[property or 'content'])
188
186 def post_init(self): 189 def post_init(self):
187 pass 190 pass
188 191
189 def refresh_database(self): 192 def refresh_database(self):
190 pass 193 pass
267 # Node IDs 270 # Node IDs
268 # 271 #
269 def newid(self, classname): 272 def newid(self, classname):
270 self.ids[classname] += 1 273 self.ids[classname] += 1
271 return str(self.ids[classname]) 274 return str(self.ids[classname])
275 def setid(self, classname, id):
276 self.ids[classname] = id
272 277
273 # 278 #
274 # Nodes 279 # Nodes
275 # 280 #
276 def addnode(self, classname, nodeid, node): 281 def addnode(self, classname, nodeid, node):
280 self.getclassdb(classname)[nodeid] = node 285 self.getclassdb(classname)[nodeid] = node
281 286
282 def getnode(self, classname, nodeid, db=None): 287 def getnode(self, classname, nodeid, db=None):
283 if db is not None: 288 if db is not None:
284 return db[nodeid] 289 return db[nodeid]
285 return self.getclassdb(classname)[nodeid] 290 d = self.getclassdb(classname)
291 if nodeid not in d:
292 raise IndexError(nodeid)
293 return d[nodeid]
286 294
287 def destroynode(self, classname, nodeid): 295 def destroynode(self, classname, nodeid):
288 del self.getclassdb(classname)[nodeid] 296 del self.getclassdb(classname)[nodeid]
289 297
290 def hasnode(self, classname, nodeid): 298 def hasnode(self, classname, nodeid):
326 def close(self): 334 def close(self):
327 pass 335 pass
328 336
329 class Class(back_anydbm.Class): 337 class Class(back_anydbm.Class):
330 def getnodeids(self, db=None, retired=None): 338 def getnodeids(self, db=None, retired=None):
331 return self.db.getclassdb(self.classname).keys() 339 d = self.db.getclassdb(self.classname)
340 if retired is None:
341 return d.keys()
342 return [k for k in d if d[k].get(self.db.RETIRED_FLAG, False) == retired]
332 343
333 class FileClass(back_anydbm.Class): 344 class FileClass(back_anydbm.Class):
334 def __init__(self, db, classname, **properties): 345 def __init__(self, db, classname, **properties):
335 if not properties.has_key('content'): 346 if not properties.has_key('content'):
336 properties['content'] = hyperdb.String(indexme='yes') 347 properties['content'] = hyperdb.String(indexme='yes')

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