Project

General

Profile

« Previous | Next » 

Revision 6413

db_xml.py: put(): _setDefault(): Delay the evaluation of each col_default's value until the col_default is actually retrieved. This fixes a bug in the source table mappings where the explicit source entry was being created after the col_default source entry, causing the initial entry, which did not have the additional fields populated, to be used instead.

View differences:

inputs/.herbaria/herbaria/test.xml.ref
15 15
        </path>
16 16
    </_setDefault>
17 17
</VegBIEN>
18
Inserted 3 new rows into database
18
Inserted 2 new rows into database
lib/db_xml.py
107 107
        try: path = row.pop('path')
108 108
        except KeyError, e: wrap_e(e)
109 109
        
110
        col_defaults = col_defaults.copy() # don't modify input!
111
        col_defaults.update([(k, put_(v)) for k, v in row.iteritems()])
110
        col_defaults = dicts.MergeDict(dicts.WrapDict(put_, row), col_defaults)
112 111
        return put_(path)
113 112
    elif out_table == '_simplifyPath':
114 113
        # Parse args

Also available in: Unified diff