Skip to content

Commit 6a938e5

Browse files
author
Alexander Smishlajev
committed
actor/activity update moved from Database.setnode() to Class.set_inner()
1 parent 572632a commit 6a938e5

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

roundup/backends/back_anydbm.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
1616
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
1717
#
18-
#$Id: back_anydbm.py,v 1.179.2.2 2005-01-04 03:25:24 richard Exp $
18+
#$Id: back_anydbm.py,v 1.179.2.3 2005-01-06 17:59:38 a1s Exp $
1919
'''This module defines a backend that saves the hyperdatabase in a
2020
database chosen by anydbm. It is guaranteed to always be available in python
2121
versions >2.1.1 (the dumbdbm fallback in 2.1.1 and earlier has several
@@ -287,12 +287,6 @@ def setnode(self, classname, nodeid, node):
287287
'''
288288
self.dirtynodes.setdefault(classname, {})[nodeid] = 1
289289

290-
# update the activity time (dupe so we don't affect
291-
# calling code's node assumptions)
292-
node = node.copy()
293-
node['activity'] = date.Date()
294-
node['actor'] = self.getuid()
295-
296290
# can't set without having already loaded the node
297291
self.cache[classname][nodeid] = node
298292
self.savenode(classname, nodeid, node)
@@ -1249,6 +1243,10 @@ def set_inner(self, nodeid, **propvalues):
12491243
if not propvalues:
12501244
return propvalues
12511245

1246+
# update the activity time
1247+
node['activity'] = date.Date()
1248+
node['actor'] = self.db.getuid()
1249+
12521250
# do the set, and journal it
12531251
self.db.setnode(self.classname, nodeid, node)
12541252

roundup/backends/rdbms_common.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: rdbms_common.py,v 1.142.2.1 2005-01-04 03:28:07 richard Exp $
1+
# $Id: rdbms_common.py,v 1.142.2.2 2005-01-06 17:58:52 a1s Exp $
22
''' Relational database (SQL) backend common code.
33
44
Basics:
@@ -767,20 +767,15 @@ def setnode(self, classname, nodeid, values, multilink_changes={}):
767767
''' Change the specified node.
768768
'''
769769
if __debug__:
770-
self.config.logging.getLogger('hyperdb').debug('setnode %s%s %r'%(classname,
771-
nodeid, values))
770+
self.config.logging.getLogger('hyperdb').debug('setnode %s%s %r'
771+
% (classname, nodeid, values))
772772

773773
# clear this node out of the cache if it's in there
774774
key = (classname, nodeid)
775775
if self.cache.has_key(key):
776776
del self.cache[key]
777777
self.cache_lru.remove(key)
778778

779-
# add the special props
780-
values = values.copy()
781-
values['activity'] = date.Date()
782-
values['actor'] = self.getuid()
783-
784779
cl = self.classes[classname]
785780
props = cl.getprops()
786781

@@ -1529,6 +1524,9 @@ def set_inner(self, nodeid, **propvalues):
15291524
raise IndexError, 'Requested item is retired'
15301525
num_re = re.compile('^\d+$')
15311526

1527+
# make a copy of the values dictionary - we'll modify the contents
1528+
propvalues = propvalues.copy()
1529+
15321530
# if the journal value is to be different, store it in here
15331531
journalvalues = {}
15341532

@@ -1695,6 +1693,10 @@ def set_inner(self, nodeid, **propvalues):
16951693
if not propvalues:
16961694
return propvalues
16971695

1696+
# update the activity time
1697+
propvalues['activity'] = date.Date()
1698+
propvalues['actor'] = self.db.getuid()
1699+
16981700
# do the set, and journal it
16991701
self.db.setnode(self.classname, nodeid, propvalues, multilink_changes)
17001702

0 commit comments

Comments
 (0)