This commit is contained in:
Kovid Goyal 2010-09-24 11:08:34 -06:00
commit 1d01a6a5f5
4 changed files with 12 additions and 13 deletions

View File

@ -432,14 +432,14 @@ class Metadata(object):
if key in self.user_metadata_keys(): if key in self.user_metadata_keys():
res = self.get(key, None) res = self.get(key, None)
cmeta = self.get_user_metadata(key, make_copy=False) cmeta = self.get_user_metadata(key, make_copy=False)
name = unicode(cmeta['name'])
if cmeta['datatype'] != 'composite' and (res is None or res == ''): if cmeta['datatype'] != 'composite' and (res is None or res == ''):
return (None, None, None, None) return (name, res, None, None)
orig_res = res orig_res = res
cmeta = self.get_user_metadata(key, make_copy=False) cmeta = self.get_user_metadata(key, make_copy=False)
if res is None or res == '': if res is None or res == '':
return (None, None, None, None) return (name, res, None, None)
orig_res = res orig_res = res
name = unicode(cmeta['name'])
datatype = cmeta['datatype'] datatype = cmeta['datatype']
if datatype == 'text' and cmeta['is_multiple']: if datatype == 'text' and cmeta['is_multiple']:
res = u', '.join(res) res = u', '.join(res)
@ -454,11 +454,12 @@ class Metadata(object):
if key in field_metadata and field_metadata[key]['kind'] == 'field': if key in field_metadata and field_metadata[key]['kind'] == 'field':
res = self.get(key, None) res = self.get(key, None)
if res is None or res == '':
return (None, None, None, None)
orig_res = res
fmeta = field_metadata[key] fmeta = field_metadata[key]
name = unicode(fmeta['name']) name = unicode(fmeta['name'])
if res is None or res == '':
return (name, res, None, None)
orig_res = res
name = unicode(fmeta['name'])
datatype = fmeta['datatype'] datatype = fmeta['datatype']
if key == 'authors': if key == 'authors':
res = authors_to_string(res) res = authors_to_string(res)
@ -508,9 +509,8 @@ class Metadata(object):
fmt('Rights', unicode(self.rights)) fmt('Rights', unicode(self.rights))
for key in self.user_metadata_keys(): for key in self.user_metadata_keys():
val = self.get(key, None) val = self.get(key, None)
if val is not None: (name, val) = self.format_field(key)
(name, val) = self.format_field(key) fmt(name, unicode(val))
fmt(name, unicode(val))
return u'\n'.join(ans) return u'\n'.join(ans)
def to_html(self): def to_html(self):

View File

@ -327,7 +327,7 @@ class BooksModel(QAbstractTableModel): # {{{
mi = self.db.get_metadata(idx) mi = self.db.get_metadata(idx)
for key in mi.user_metadata_keys(): for key in mi.user_metadata_keys():
name, val = mi.format_field(key) name, val = mi.format_field(key)
if val is not None: if val:
data[name] = val data[name] = val
return data return data

View File

@ -125,7 +125,6 @@ def build_index(books, num, search, sort, order, start, total, url_base, CKEYS):
series = u'[%s - %s]'%(book['series'], book['series_index']) \ series = u'[%s - %s]'%(book['series'], book['series_index']) \
if book['series'] else '' if book['series'] else ''
tags = u'Tags=[%s]'%book['tags'] if book['tags'] else '' tags = u'Tags=[%s]'%book['tags'] if book['tags'] else ''
print tags
ctext = '' ctext = ''
for key in CKEYS: for key in CKEYS:
@ -231,7 +230,7 @@ class MobileServer(object):
return '%s:#:%s'%(name, unicode(val)) return '%s:#:%s'%(name, unicode(val))
mi = self.db.get_metadata(record[CFM['id']['rec_index']], index_is_id=True) mi = self.db.get_metadata(record[CFM['id']['rec_index']], index_is_id=True)
name, val = mi.format_field(key) name, val = mi.format_field(key)
if val is None: if not val:
continue continue
datatype = CFM[key]['datatype'] datatype = CFM[key]['datatype']
if datatype in ['comments']: if datatype in ['comments']:

View File

@ -160,7 +160,7 @@ def ACQUISITION_ENTRY(item, version, db, updated, CFM, CKEYS):
for key in CKEYS: for key in CKEYS:
mi = db.get_metadata(item[CFM['id']['rec_index']], index_is_id=True) mi = db.get_metadata(item[CFM['id']['rec_index']], index_is_id=True)
name, val = mi.format_field(key) name, val = mi.format_field(key)
if val is not None: if val:
datatype = CFM[key]['datatype'] datatype = CFM[key]['datatype']
if datatype == 'text' and CFM[key]['is_multiple']: if datatype == 'text' and CFM[key]['is_multiple']:
extra.append('%s: %s<br />'%(name, format_tag_string(val, ',', extra.append('%s: %s<br />'%(name, format_tag_string(val, ',',