Projet

Général

Profil

0001-json-export-DateField-as-YYYY-MM-DD-6927.patch

Thomas Noël, 16 avril 2015 14:30

Télécharger (2,07 ko)

Voir les différences:

Subject: [PATCH] json: export DateField as YYYY-MM-DD (#6927)

 tests/test_api.py | 10 +++++++---
 wcs/fields.py     |  6 ++++++
 2 files changed, 13 insertions(+), 3 deletions(-)
tests/test_api.py
5 5
import hashlib
6 6
import urllib
7 7
import datetime
8
import time
8 9

  
9 10
from quixote import cleanup, get_publisher
10 11
from wcs.users import User
......
215 216
    formdef.name = 'test'
216 217
    formdef.fields = [
217 218
        fields.StringField(id='0', label='foobar', varname='foobar'),
218
        fields.StringField(id='1', label='foobar2'),]
219
        fields.StringField(id='1', label='foobar2'),
220
        fields.DateField(id='2', label='foobar3', varname='date'),]
219 221
    formdef.store()
220 222

  
221 223
    formdata = formdef.data_class()()
222
    formdata.data = {'0': 'foo@localhost', '1': 'xxx'}
224
    date = time.strptime('2014-01-20', '%Y-%m-%d')
225
    formdata.data = {'0': 'foo@localhost', '1': 'xxx', '2': date}
223 226
    formdata.user_id = user.id
224 227
    formdata.just_created()
225 228
    formdata.store()
......
228 231
    assert 'last_update_time' in resp.json
229 232
    assert resp.json['user']['name'] == user.name
230 233
    assert resp.json['fields']['foobar'] == 'foo@localhost'
231
    assert len(resp.json['fields']) == 1 # foobar2 has no varname, not in json
234
    assert resp.json['fields']['date'] == '2014-01-20'
235
    assert len(resp.json['fields']) == 2 # foobar2 has no varname, not in json
wcs/fields.py
776 776
        except TypeError:
777 777
            return value
778 778

  
779
    def get_json_value(self, value):
780
        try:
781
            return strftime('%Y-%m-%d', value)
782
        except TypeError:
783
            return ''
784

  
779 785
register_field_class(DateField)
780 786

  
781 787

  
782
-