2020-01-29 23:10:32 +00:00
|
|
|
''' template filters '''
|
|
|
|
from django import template
|
|
|
|
|
|
|
|
register = template.Library()
|
|
|
|
|
|
|
|
@register.filter(name='dict_key')
|
|
|
|
def dict_key(d, k):
|
|
|
|
'''Returns the given key from a dictionary.'''
|
|
|
|
return d.get(k) or 0
|
|
|
|
|
|
|
|
@register.filter(name='stars')
|
|
|
|
def stars(number):
|
|
|
|
''' turn integers into stars '''
|
2020-01-29 23:32:43 +00:00
|
|
|
try:
|
|
|
|
number = int(number)
|
|
|
|
except TypeError:
|
|
|
|
number = 0
|
2020-01-29 23:10:32 +00:00
|
|
|
return ('★' * number) + '☆' * (5 - number)
|
2020-01-29 23:32:43 +00:00
|
|
|
|
|
|
|
@register.filter(name='description')
|
|
|
|
def description_format(description):
|
|
|
|
''' handle the various OL description formats '''
|
|
|
|
if isinstance(description, dict) and 'value' in description:
|
|
|
|
description = description['value']
|
|
|
|
if '----------' in description:
|
|
|
|
description = description.split('----------')[0]
|
|
|
|
|
|
|
|
return description.strip()
|