Have db2.get_metadata put the current value of a composite field into its value

This commit is contained in:
Kovid Goyal 2011-02-09 10:25:48 -07:00
commit 9a3d8d19bc
2 changed files with 5 additions and 5 deletions

View File

@ -129,9 +129,6 @@ class Metadata(object):
val = NULL_VALUES.get(field, None) val = NULL_VALUES.get(field, None)
_data[field] = val _data[field] = val
elif field in _data['user_metadata'].iterkeys(): elif field in _data['user_metadata'].iterkeys():
if _data['user_metadata'][field]['datatype'] == 'composite':
_data['user_metadata'][field]['#value#'] = None
else:
_data['user_metadata'][field]['#value#'] = val _data['user_metadata'][field]['#value#'] = val
_data['user_metadata'][field]['#extra#'] = extra _data['user_metadata'][field]['#extra#'] = extra
else: else:

View File

@ -787,6 +787,9 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
mi.id = id mi.id = id
for key, meta in self.field_metadata.custom_iteritems(): for key, meta in self.field_metadata.custom_iteritems():
mi.set_user_metadata(key, meta) mi.set_user_metadata(key, meta)
if meta['datatype'] == 'composite':
mi.set(key, val=row[meta['rec_index']])
else:
mi.set(key, val=self.get_custom(idx, label=meta['label'], mi.set(key, val=self.get_custom(idx, label=meta['label'],
index_is_id=index_is_id), index_is_id=index_is_id),
extra=self.get_custom_extra(idx, label=meta['label'], extra=self.get_custom_extra(idx, label=meta['label'],