Correctly map classifier to identifiers in json_codec (I think)

This commit is contained in:
Kovid Goyal 2011-03-03 11:58:41 -07:00
parent 27e95b8675
commit ec6c18137b

View File

@ -119,12 +119,12 @@ class JsonCodec(object):
for item in js: for item in js:
book = book_class(prefix, item.get('lpath', None)) book = book_class(prefix, item.get('lpath', None))
for key in item.keys(): for key in item.keys():
if key == 'classifiers':
key = 'identifiers'
meta = self.decode_metadata(key, item[key]) meta = self.decode_metadata(key, item[key])
if key == 'user_metadata': if key == 'user_metadata':
book.set_all_user_metadata(meta) book.set_all_user_metadata(meta)
else: else:
if key == 'classifiers':
key = 'identifiers'
setattr(book, key, meta) setattr(book, key, meta)
booklist.append(book) booklist.append(book)
except: except:
@ -132,6 +132,8 @@ class JsonCodec(object):
traceback.print_exc() traceback.print_exc()
def decode_metadata(self, key, value): def decode_metadata(self, key, value):
if key == 'classifiers':
key = 'identifiers'
if key == 'user_metadata': if key == 'user_metadata':
for k in value: for k in value:
if value[k]['datatype'] == 'datetime': if value[k]['datatype'] == 'datetime':