Coverage for /Users/davegaeddert/Developer/dropseed/plain/plain/plain/templates/jinja/filters.py: 70%
10 statements
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-23 11:16 -0600
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-23 11:16 -0600
1import datetime
2from itertools import islice
4from plain.utils.html import json_script
5from plain.utils.timesince import timesince, timeuntil
6from plain.utils.timezone import localtime
9def localtime_filter(value, timezone=None):
10 """Converts a datetime to local time in a template."""
11 if not value:
12 # Without this, we get the current localtime
13 # which doesn't make sense as a filter
14 raise ValueError("localtime filter requires a datetime")
15 return localtime(value, timezone)
18default_filters = {
19 # The standard Python ones
20 "strftime": datetime.datetime.strftime,
21 "strptime": datetime.datetime.strptime,
22 # To convert to user time zone
23 "localtime": localtime_filter,
24 "timeuntil": timeuntil,
25 "timesince": timesince,
26 "json_script": json_script,
27 "islice": islice, # slice for dict.items()
28}