fix: add render_date()
, render_datetime()
methods for app handler
This commit is contained in:
parent
c1108e3102
commit
80a983f812
|
@ -668,6 +668,51 @@ class AppHandler:
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
##############################
|
||||||
|
# common value renderers
|
||||||
|
##############################
|
||||||
|
|
||||||
|
display_format_date = '%Y-%m-%d'
|
||||||
|
"""
|
||||||
|
Format string to use when displaying :class:`python:datetime.date`
|
||||||
|
objects. See also :meth:`render_date()`.
|
||||||
|
"""
|
||||||
|
|
||||||
|
display_format_datetime = '%Y-%m-%d %H:%M%z'
|
||||||
|
"""
|
||||||
|
Format string to use when displaying
|
||||||
|
:class:`python:datetime.datetime` objects. See also
|
||||||
|
:meth:`render_datetime()`.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def render_date(self, value):
|
||||||
|
"""
|
||||||
|
Return a human-friendly display string for the given date.
|
||||||
|
|
||||||
|
Uses :attr:`display_format_date` to render the value.
|
||||||
|
|
||||||
|
:param value: A :class:`python:datetime.date` instance (or
|
||||||
|
``None``).
|
||||||
|
|
||||||
|
:returns: Display string, or ``None``.
|
||||||
|
"""
|
||||||
|
if value is not None:
|
||||||
|
return value.strftime(self.display_format_date)
|
||||||
|
|
||||||
|
def render_datetime(self, value):
|
||||||
|
"""
|
||||||
|
Return a human-friendly display string for the given datetime.
|
||||||
|
|
||||||
|
Uses :attr:`display_format_datetime` to render the value.
|
||||||
|
|
||||||
|
:param value: A :class:`python:datetime.datetime` instance (or
|
||||||
|
``None``).
|
||||||
|
|
||||||
|
:returns: Display string, or ``None``.
|
||||||
|
"""
|
||||||
|
if value is not None:
|
||||||
|
return value.strftime(self.display_format_datetime)
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
# getters for other handlers
|
# getters for other handlers
|
||||||
##############################
|
##############################
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# -*- coding: utf-8; -*-
|
# -*- coding: utf-8; -*-
|
||||||
|
|
||||||
|
import datetime
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
@ -421,6 +422,18 @@ app_title = WuttaTest
|
||||||
session = self.app.get_session(user)
|
session = self.app.get_session(user)
|
||||||
self.assertIs(session, mysession)
|
self.assertIs(session, mysession)
|
||||||
|
|
||||||
|
def test_render_date(self):
|
||||||
|
self.assertIsNone(self.app.render_date(None))
|
||||||
|
|
||||||
|
dt = datetime.date(2024, 12, 11)
|
||||||
|
self.assertEqual(self.app.render_date(dt), '2024-12-11')
|
||||||
|
|
||||||
|
def test_render_datetime(self):
|
||||||
|
self.assertIsNone(self.app.render_datetime(None))
|
||||||
|
|
||||||
|
dt = datetime.datetime(2024, 12, 11, 8, 30, tzinfo=datetime.timezone.utc)
|
||||||
|
self.assertEqual(self.app.render_datetime(dt), '2024-12-11 08:30+0000')
|
||||||
|
|
||||||
def test_get_person(self):
|
def test_get_person(self):
|
||||||
people = self.app.get_people_handler()
|
people = self.app.get_people_handler()
|
||||||
with patch.object(people, 'get_person') as get_person:
|
with patch.object(people, 'get_person') as get_person:
|
||||||
|
|
Loading…
Reference in a new issue