index 60997dff9aafd678766dcf672c5634263eda1227..737d08d3faa6883cfae26f3d8c1af95c8aa668a7 100755 (executable)
-# $Id: back_metakit.py,v 1.48 2003-08-26 00:06:56 richard Exp $
+# $Id: back_metakit.py,v 1.51 2003-10-07 11:58:57 anthonybaxter Exp $
'''
Metakit backend for Roundup, originally by Gordon McMillan.
_dbs[config.DATABASE] = db
else:
db.journaltag = journaltag
- try:
- delattr(db, 'curuserid')
- except AttributeError:
- pass
return db
class _Database(hyperdb.Database, roundupdb.Database):
if self.indexer.should_reindex():
self.reindex()
+ def refresh_database(self):
+ # XXX handle refresh
+ self.reindex()
+
def reindex(self):
for klass in self.classes.values():
for nodeid in klass.list():
# --- defined in ping's spec
def __getattr__(self, classname):
- if classname == 'curuserid':
- if self.journaltag is None:
- return None
-
- # try to set the curuserid from the journaltag
- try:
- x = int(self.classes['user'].lookup(self.journaltag))
- self.curuserid = x
- except KeyError:
- if self.journaltag == 'admin':
- self.curuserid = x = 1
- else:
- x = 0
- return x
- elif classname == 'transactions':
+ if classname == 'transactions':
return self.dirty
# fall back on the classes
return self.getclass(classname)
if tblid == -1:
tblid = self.tables.append(name=tablenm)
if creator is None:
- creator = self.curuserid
+ creator = self.getuid()
else:
try:
creator = int(creator)
return str(newid)
def get(self, nodeid, propname, default=_marker, cache=1):
- # default and cache aren't in the spec
- # cache=0 means "original value"
+ '''
+ 'cache' exists for backwards compatibility, and is not used.
+ '''
view = self.getview()
id = int(nodeid)
if not row.creation:
row.creation = int(time.time())
if not row.creator:
- row.creator = self.db.curuserid
+ row.creator = self.db.getuid()
self.db.dirty = 1
if self.do_journal:
Class.__init__(self, db, classname, **properties)
def get(self, nodeid, propname, default=_marker, cache=1):
- x = Class.get(self, nodeid, propname, default, cache)
+ x = Class.get(self, nodeid, propname, default)
poss_msg = 'Possibly an access right configuration problem.'
if propname == 'content':
if x.startswith('file:'):