Projet

Général

Profil

0001-misc-extend-parse_datetime-to-accept-time.struct_tim.patch

Frédéric Péters, 01 novembre 2018 14:20

Télécharger (1,96 ko)

Voir les différences:

Subject: [PATCH] misc: extend |parse_datetime to accept time.struct_time
 objects (#27715)

 combo/public/templatetags/combo.py | 3 +++
 tests/test_public_templatetags.py  | 2 ++
 2 files changed, 5 insertions(+)
combo/public/templatetags/combo.py
17 17
from __future__ import absolute_import
18 18

  
19 19
import datetime
20
import time
20 21

  
21 22
from django import template
22 23
from django.conf import settings
......
176 177

  
177 178
@register.filter
178 179
def parse_datetime(date_string):
180
    if isinstance(date_string, time.struct_time):
181
        return datetime.datetime.fromtimestamp(time.mktime(date_string))
179 182
    try:
180 183
        return dateparse.parse_datetime(date_string)
181 184
    except (ValueError, TypeError):
tests/test_public_templatetags.py
1 1
import os
2 2
import shutil
3
import time
3 4

  
4 5
import pytest
5 6

  
......
35 36
    assert t.render(Context({'someday': '2015-04-15T13:11:12.12345'})) == expected
36 37
    assert t.render(Context({'someday': '2015-04-15T13:11:12.12345Z'})) == expected
37 38
    assert t.render(Context({'someday': '2015-04-15T13:11:12.12345+00:00'})) == expected
39
    assert t.render(Context({'someday': time.localtime(time.mktime((2015, 4, 15, 13, 11, 12, 0, 0, 0)))})) == expected
38 40
    assert t.render(Context({'someday': '2015-04-15T13:11'})) == '2015 04 15 13 11 00 UTC'
39 41
    assert t.render(Context({'someday': '2015-04-15T13'})) == ''
40 42
    assert t.render(Context({'someday': 'foobar'})) == ''
41
-