|
15 | 15 | # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
16 | 16 | # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
17 | 17 | # |
18 | | -#$Id: back_anydbm.py,v 1.146.2.23 2004-11-25 23:46:21 richard Exp $ |
| 18 | +#$Id: back_anydbm.py,v 1.146.2.24 2004-12-14 22:59:53 richard Exp $ |
19 | 19 | '''This module defines a backend that saves the hyperdatabase in a |
20 | 20 | database chosen by anydbm. It is guaranteed to always be available in python |
21 | 21 | versions >2.1.1 (the dumbdbm fallback in 2.1.1 and earlier has several |
@@ -2043,24 +2043,25 @@ def export_journals(self): |
2043 | 2043 | for nodeid, date, user, action, params in self.history(nodeid): |
2044 | 2044 | date = date.get_tuple() |
2045 | 2045 | if action == 'set': |
| 2046 | + export_data = {} |
2046 | 2047 | for propname, value in params.items(): |
2047 | 2048 | if not properties.has_key(propname): |
2048 | 2049 | # property no longer in the schema |
2049 | | - del params[propname] |
2050 | 2050 | continue |
2051 | 2051 |
|
2052 | 2052 | prop = properties[propname] |
2053 | 2053 | # make sure the params are eval()'able |
2054 | 2054 | if value is None: |
2055 | | - pass |
| 2055 | + # don't export empties |
| 2056 | + continue |
2056 | 2057 | elif isinstance(prop, Date): |
2057 | 2058 | value = value.get_tuple() |
2058 | 2059 | elif isinstance(prop, Interval): |
2059 | 2060 | value = value.get_tuple() |
2060 | 2061 | elif isinstance(prop, Password): |
2061 | 2062 | value = str(value) |
2062 | | - params[propname] = value |
2063 | | - l = [nodeid, date, user, action, params] |
| 2063 | + export_data[propname] = value |
| 2064 | + l = [nodeid, date, user, action, export_data] |
2064 | 2065 | r.append(map(repr, l)) |
2065 | 2066 | return r |
2066 | 2067 |
|
|
0 commit comments