|
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.179 2004-11-25 23:53:31 richard Exp $ |
| 18 | +#$Id: back_anydbm.py,v 1.179.2.1 2004-12-14 23:01:56 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 |
@@ -2018,19 +2018,25 @@ def export_journals(self): |
2018 | 2018 | for nodeid, date, user, action, params in self.history(nodeid): |
2019 | 2019 | date = date.get_tuple() |
2020 | 2020 | if action == 'set': |
| 2021 | + export_data = {} |
2021 | 2022 | for propname, value in params.items(): |
| 2023 | + if not properties.has_key(propname): |
| 2024 | + # property no longer in the schema |
| 2025 | + continue |
| 2026 | + |
2022 | 2027 | prop = properties[propname] |
2023 | 2028 | # make sure the params are eval()'able |
2024 | 2029 | if value is None: |
2025 | | - pass |
| 2030 | + # don't export empties |
| 2031 | + continue |
2026 | 2032 | elif isinstance(prop, hyperdb.Date): |
2027 | 2033 | value = value.get_tuple() |
2028 | 2034 | elif isinstance(prop, hyperdb.Interval): |
2029 | 2035 | value = value.get_tuple() |
2030 | 2036 | elif isinstance(prop, hyperdb.Password): |
2031 | 2037 | value = str(value) |
2032 | | - params[propname] = value |
2033 | | - l = [nodeid, date, user, action, params] |
| 2038 | + export_data[propname] = value |
| 2039 | + l = [nodeid, date, user, action, export_data] |
2034 | 2040 | r.append(map(repr, l)) |
2035 | 2041 | return r |
2036 | 2042 |
|
|
0 commit comments