1) fix problem with some formatter functions causing plugboards not to validate

2) fix use of {formats} in save templates
This commit is contained in:
Charles Haley 2012-11-26 14:19:33 +01:00
parent f3e7bd0cba
commit 8063abfc19
2 changed files with 4 additions and 1 deletions

View File

@ -20,6 +20,7 @@ from calibre.ebooks.metadata import title_sort
from calibre.utils.date import parse_date, as_local_time
from calibre import strftime, prints, sanitize_file_name_unicode
from calibre.ptempfile import SpooledTemporaryFile
from calibre.db.lazy import FormatsList
plugboard_any_device_value = 'any device'
plugboard_any_format_value = 'any format'
@ -159,7 +160,7 @@ class Formatter(TemplateFormatter):
return self.composite_values[key]
if key in kwargs:
val = kwargs[key]
if isinstance(val, list):
if isinstance(val, list) or isinstance(val, FormatsList):
val = ','.join(val)
return val.replace('/', '_').replace('\\', '_')
return ''

View File

@ -526,6 +526,8 @@ class ValidateFormatter(TemplateFormatter):
return self._validation_string
def validate(self, x):
from calibre.ebooks.metadata.book.base import Metadata
self.book = Metadata('');
return self.vformat(x, [], {})
validation_formatter = ValidateFormatter()