mirror of
git://github.com/kovidgoyal/calibre.git
synced 2026-05-08 13:12:35 +02:00
Fix raw_field returning incorrectly rendered lists.
Problem pointed out at http://www.mobileread.com/forums/showthread.php?t=259229
This commit is contained in:
parent
530876cc47
commit
8f6056013b
1 changed files with 8 additions and 2 deletions
|
|
@ -130,7 +130,7 @@ def eval_(self, formatter, kwargs, mi, locals, *args):
|
|||
if isinstance(ret, (str, unicode)):
|
||||
return ret
|
||||
if isinstance(ret, list):
|
||||
return ','.join(list)
|
||||
return ','.join(ret)
|
||||
if isinstance(ret, (int, float, bool)):
|
||||
return unicode(ret)
|
||||
|
||||
|
|
@ -348,7 +348,13 @@ class BuiltinRawField(BuiltinFormatterFunction):
|
|||
'without applying any formatting.')
|
||||
|
||||
def evaluate(self, formatter, kwargs, mi, locals, name):
|
||||
return unicode(getattr(mi, name, None))
|
||||
res = getattr(mi, name, None)
|
||||
if isinstance(res, list):
|
||||
fm = mi.metadata_for_field(name)
|
||||
if fm is None:
|
||||
return ', '.join(res)
|
||||
return fm['is_multiple']['list_to_ui'].join(res)
|
||||
return unicode(res)
|
||||
|
||||
class BuiltinRawList(BuiltinFormatterFunction):
|
||||
name = 'raw_list'
|
||||
|
|
|
|||
Loading…
Reference in a new issue