Mercurial > p > roundup > code
changeset 2398:202701d52788
fixed anydbm & metakit import/export ([SF#965216], [SF#964457], [SF#964450])
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Tue, 08 Jun 2004 05:30:56 +0000 |
| parents | fa50e1347397 |
| children | 5fd066bcf9cf |
| files | CHANGES.txt roundup/backends/back_anydbm.py roundup/backends/back_metakit.py |
| diffstat | 3 files changed, 22 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/CHANGES.txt Tue Jun 08 05:29:18 2004 +0000 +++ b/CHANGES.txt Tue Jun 08 05:30:56 2004 +0000 @@ -16,6 +16,7 @@ - re-acquire the OTK manager when we re-open the database - mailgw handler can close the database on us - fixed grouping by a NULL Link value +- fixed anydbm import/export (sf bugs 965216, 964457, 964450) 2004-05-28 0.7.3
--- a/roundup/backends/back_anydbm.py Tue Jun 08 05:29:18 2004 +0000 +++ b/roundup/backends/back_anydbm.py Tue Jun 08 05:30:56 2004 +0000 @@ -15,7 +15,7 @@ # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # -#$Id: back_anydbm.py,v 1.149 2004-05-23 23:24:47 richard Exp $ +#$Id: back_anydbm.py,v 1.150 2004-06-08 05:30:32 richard Exp $ '''This module defines a backend that saves the hyperdatabase in a database chosen by anydbm. It is guaranteed to always be available in python versions >2.1.1 (the dumbdbm fallback in 2.1.1 and earlier has several @@ -2009,6 +2009,7 @@ r = [] for nodeid in self.getnodeids(): for nodeid, date, user, action, params in self.history(nodeid): + print (nodeid, date, user, action, params) date = date.get_tuple() if action == 'set': for propname, value in params.items(): @@ -2035,7 +2036,7 @@ d = {} for l in entries: l = map(eval, l) - nodeid, date, user, action, params = l + nodeid, jdate, user, action, params = l r = d.setdefault(nodeid, []) if action == 'set': for propname, value in params.items(): @@ -2051,7 +2052,7 @@ pwd.unpack(value) value = pwd params[propname] = value - r.append((nodeid, date.Date(date), user, action, params)) + r.append((nodeid, date.Date(jdate), user, action, params)) for nodeid, l in d.items(): self.db.setjournal(self.classname, nodeid, l)
--- a/roundup/backends/back_metakit.py Tue Jun 08 05:29:18 2004 +0000 +++ b/roundup/backends/back_metakit.py Tue Jun 08 05:30:56 2004 +0000 @@ -1,4 +1,4 @@ -# $Id: back_metakit.py,v 1.72 2004-05-23 23:24:47 richard Exp $ +# $Id: back_metakit.py,v 1.73 2004-06-08 05:30:32 richard Exp $ '''Metakit backend for Roundup, originally by Gordon McMillan. Known Current Bugs: @@ -209,8 +209,8 @@ nodeid=int(nodeid), date=creation, action=action, - user = creator, - params = marshal.dumps(params)) + user=creator, + params=marshal.dumps(params)) def setjournal(self, tablenm, nodeid, journal): '''Set the journal to the "journal" list.''' @@ -223,7 +223,7 @@ nodeid=int(nodeid), date=date, action=action, - user=user, + user=int(user), params=marshal.dumps(params)) def getjournal(self, tablenm, nodeid): @@ -361,6 +361,15 @@ _UNLINK : 'unlink', } +_names_to_actionnames = { + 'create': _CREATE, + 'set': _SET, + 'retire': _RETIRE, + 'restore': _RESTORE, + 'link': _LINK, + 'unlink': _UNLINK, +} + _marker = [] _ALLOWSETTINGPRIVATEPROPS = 0 @@ -1700,7 +1709,8 @@ d = {} for l in entries: l = map(eval, l) - nodeid, date, user, action, params = l + nodeid, jdate, user, action, params = l + jdate = int(calendar.timegm(date.Date(jdate).get_tuple())) r = d.setdefault(nodeid, []) if action == 'set': for propname, value in params.items(): @@ -1716,7 +1726,8 @@ pwd.unpack(value) value = pwd params[propname] = value - r.append((nodeid, date.Date(date), user, action, params)) + action = _names_to_actionnames[action] + r.append((nodeid, jdate, user, action, params)) for nodeid, l in d.items(): self.db.setjournal(self.classname, nodeid, l)
