Mercurial > p > roundup > code
changeset 3365:e2d65f6c8d83
handle dropped properies in rdbms/metakit journal export [SF#1203569]
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 24 Jun 2005 06:38:14 +0000 |
| parents | 7bc1e9c42a26 |
| children | a23863a95326 |
| files | CHANGES.txt roundup/backends/back_metakit.py roundup/backends/rdbms_common.py |
| diffstat | 3 files changed, 17 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/CHANGES.txt Fri Jun 24 06:27:45 2005 +0000 +++ b/CHANGES.txt Fri Jun 24 06:38:14 2005 +0000 @@ -24,6 +24,7 @@ - fixed templating menu() sort_on handling (sf bug 1221936) - allow specification of pagesize, sorting and filtering in "classhelp" popups (sf bug 1211800) +- handle dropped properies in rdbms/metakit journal export (sf bug 1203569) 2005-05-02 0.8.3
--- a/roundup/backends/back_metakit.py Fri Jun 24 06:27:45 2005 +0000 +++ b/roundup/backends/back_metakit.py Fri Jun 24 06:38:14 2005 +0000 @@ -1,4 +1,4 @@ -# $Id: back_metakit.py,v 1.95 2005-06-08 03:41:46 anthonybaxter Exp $ +# $Id: back_metakit.py,v 1.96 2005-06-24 06:38:14 richard Exp $ '''Metakit backend for Roundup, originally by Gordon McMillan. Known Current Bugs: @@ -1705,7 +1705,12 @@ for nodeid, date, user, action, params in self.history(nodeid): date = date.get_tuple() if action == 'set': + export_data = {} for propname, value in params.items(): + if not properties.has_key(propname): + # property no longer in the schema + continue + prop = properties[propname] # make sure the params are eval()'able if value is None: @@ -1716,7 +1721,8 @@ value = value.get_tuple() elif isinstance(prop, Password): value = str(value) - params[propname] = value + export_data[propname] = value + params = export_data l = [nodeid, date, user, action, params] r.append(map(repr, l)) return r
--- a/roundup/backends/rdbms_common.py Fri Jun 24 06:27:45 2005 +0000 +++ b/roundup/backends/rdbms_common.py Fri Jun 24 06:38:14 2005 +0000 @@ -1,4 +1,4 @@ -# $Id: rdbms_common.py,v 1.155 2005-05-18 05:21:14 richard Exp $ +# $Id: rdbms_common.py,v 1.156 2005-06-24 06:38:14 richard Exp $ ''' Relational database (SQL) backend common code. Basics: @@ -2491,7 +2491,12 @@ for nodeid, date, user, action, params in self.history(nodeid): date = date.get_tuple() if action == 'set': + export_data = {} for propname, value in params.items(): + if not properties.has_key(propname): + # property no longer in the schema + continue + prop = properties[propname] # make sure the params are eval()'able if value is None: @@ -2502,7 +2507,8 @@ value = value.get_tuple() elif isinstance(prop, Password): value = str(value) - params[propname] = value + export_data[propname] = value + params = export_data l = [nodeid, date, user, action, params] r.append(map(repr, l)) return r
