The rest encodings now use the parse_iso[date|time] functions of wsme.utils
This commit is contained in:
parent
dfaaeaae48
commit
3bbd6544bc
@ -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'):
|
||||
|
@ -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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user