The rest encodings now use the parse_iso[date|time] functions of wsme.utils

This commit is contained in:
Christophe de Vienne 2013-04-10 12:02:42 +02:00
parent dfaaeaae48
commit 3bbd6544bc
2 changed files with 8 additions and 11 deletions

View File

@ -11,8 +11,10 @@ from simplegeneric import generic
from wsme.types import Unset
import wsme.types
import wsme.utils
from wsme.exc import UnknownArgument
try:
import simplejson as json
except ImportError:
@ -182,21 +184,21 @@ def decimal_fromjson(datatype, value):
def date_fromjson(datatype, value):
if value is None:
return None
return datetime.datetime.strptime(value, '%Y-%m-%d').date()
return wsme.utils.parse_isodate(value)
@fromjson.when_object(datetime.time)
def time_fromjson(datatype, value):
if value is None:
return None
return datetime.datetime.strptime(value, '%H:%M:%S').time()
return wsme.utils.parse_isotime(value)
@fromjson.when_object(datetime.datetime)
def datetime_fromjson(datatype, value):
if value is None:
return None
return datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S')
return wsme.utils.parse_isodatetime(value)
def parse(s, datatypes, bodyarg, encoding='utf8'):

View File

@ -213,26 +213,21 @@ def unicode_fromxml(datatype, element):
def date_fromxml(datatype, element):
if element.get('nil') == 'true':
return None
return datetime.datetime.strptime(element.text, '%Y-%m-%d').date()
return wsme.utils.parse_isodate(element.text)
@fromxml.when_object(datetime.time)
def time_fromxml(datatype, element):
if element.get('nil') == 'true':
return None
m = time_re.match(element.text)
if m:
return datetime.time(
int(m.group('h')),
int(m.group('m')),
int(m.group('s')))
return wsme.utils.parse_isotime(element.text)
@fromxml.when_object(datetime.datetime)
def datetime_fromxml(datatype, element):
if element.get('nil') == 'true':
return None
return datetime.datetime.strptime(element.text, '%Y-%m-%dT%H:%M:%S')
return wsme.utils.parse_isodatetime(element.text)
def parse(s, datatypes, bodyarg):