Permit empty keys in templates. Simplifies using functions that don't require a value

This commit is contained in:
Charles Haley 2011-05-29 13:39:35 +01:00
parent 52da86dbb6
commit 67d570de1c
3 changed files with 6 additions and 0 deletions

View File

@ -42,6 +42,8 @@ field_metadata = FieldMetadata()
class SafeFormat(TemplateFormatter): class SafeFormat(TemplateFormatter):
def get_value(self, orig_key, args, kwargs): def get_value(self, orig_key, args, kwargs):
if not orig_key:
return ''
key = orig_key.lower() key = orig_key.lower()
if key != 'title_sort' and key not in TOP_LEVEL_IDENTIFIERS: if key != 'title_sort' and key not in TOP_LEVEL_IDENTIFIERS:
key = field_metadata.search_term_to_field_key(key) key = field_metadata.search_term_to_field_key(key)

View File

@ -134,6 +134,8 @@ class SafeFormat(TemplateFormatter):
''' '''
def get_value(self, key, args, kwargs): def get_value(self, key, args, kwargs):
if key == '':
return ''
try: try:
key = key.lower() key = key.lower()
try: try:

View File

@ -342,6 +342,8 @@ class EvalFormatter(TemplateFormatter):
A template formatter that uses a simple dict instead of an mi instance A template formatter that uses a simple dict instead of an mi instance
''' '''
def get_value(self, key, args, kwargs): def get_value(self, key, args, kwargs):
if key == '':
return ''
key = key.lower() key = key.lower()
return kwargs.get(key, _('No such variable ') + key) return kwargs.get(key, _('No such variable ') + key)