mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-11-22 17:41:08 +00:00
naturalday_partial: simplify/refactor
This commit is contained in:
parent
0d908b594c
commit
4711b3bc19
1 changed files with 6 additions and 14 deletions
|
@ -15,18 +15,10 @@ def naturalday_partial(date, arg=None):
|
|||
If arg is a Django-defined format such as "DATE_FORMAT", it will be adjusted
|
||||
so that the precision of the PartialDate object is honored.
|
||||
"""
|
||||
django_formats = ("DATE_FORMAT", "SHORT_DATE_FORMAT", "YEAR_MONTH_FORMAT")
|
||||
if not isinstance(date, PartialDate):
|
||||
if not isinstance(date, PartialDate) or date.has_day:
|
||||
return naturalday(date, arg)
|
||||
if arg is None:
|
||||
arg = "DATE_FORMAT"
|
||||
if date.has_day:
|
||||
fmt = arg
|
||||
elif date.has_month:
|
||||
# there is no SHORT_YEAR_MONTH_FORMAT, so we ignore SHORT_DATE_FORMAT :(
|
||||
fmt = "YEAR_MONTH_FORMAT" if arg == "DATE_FORMAT" else arg
|
||||
else:
|
||||
fmt = "Y" if arg in django_formats else arg
|
||||
if date.has_day:
|
||||
return naturalday(date, fmt)
|
||||
return defaultfilters.date(date, fmt)
|
||||
if not arg or arg == "DATE_FORMAT":
|
||||
arg = "YEAR_MONTH_FORMAT" if date.has_month else "Y"
|
||||
elif not date.has_month and arg in ("SHORT_DATE_FORMAT", "YEAR_MONTH_FORMAT"):
|
||||
arg = "Y"
|
||||
return defaultfilters.date(date, arg)
|
||||
|
|
Loading…
Reference in a new issue