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
|
from wsme.types import Unset
|
||||||
import wsme.types
|
import wsme.types
|
||||||
|
import wsme.utils
|
||||||
from wsme.exc import UnknownArgument
|
from wsme.exc import UnknownArgument
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@ -182,21 +184,21 @@ def decimal_fromjson(datatype, value):
|
|||||||
def date_fromjson(datatype, value):
|
def date_fromjson(datatype, value):
|
||||||
if value is None:
|
if value is None:
|
||||||
return None
|
return None
|
||||||
return datetime.datetime.strptime(value, '%Y-%m-%d').date()
|
return wsme.utils.parse_isodate(value)
|
||||||
|
|
||||||
|
|
||||||
@fromjson.when_object(datetime.time)
|
@fromjson.when_object(datetime.time)
|
||||||
def time_fromjson(datatype, value):
|
def time_fromjson(datatype, value):
|
||||||
if value is None:
|
if value is None:
|
||||||
return None
|
return None
|
||||||
return datetime.datetime.strptime(value, '%H:%M:%S').time()
|
return wsme.utils.parse_isotime(value)
|
||||||
|
|
||||||
|
|
||||||
@fromjson.when_object(datetime.datetime)
|
@fromjson.when_object(datetime.datetime)
|
||||||
def datetime_fromjson(datatype, value):
|
def datetime_fromjson(datatype, value):
|
||||||
if value is None:
|
if value is None:
|
||||||
return 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'):
|
def parse(s, datatypes, bodyarg, encoding='utf8'):
|
||||||
|
@ -213,26 +213,21 @@ def unicode_fromxml(datatype, element):
|
|||||||
def date_fromxml(datatype, element):
|
def date_fromxml(datatype, element):
|
||||||
if element.get('nil') == 'true':
|
if element.get('nil') == 'true':
|
||||||
return None
|
return None
|
||||||
return datetime.datetime.strptime(element.text, '%Y-%m-%d').date()
|
return wsme.utils.parse_isodate(element.text)
|
||||||
|
|
||||||
|
|
||||||
@fromxml.when_object(datetime.time)
|
@fromxml.when_object(datetime.time)
|
||||||
def time_fromxml(datatype, element):
|
def time_fromxml(datatype, element):
|
||||||
if element.get('nil') == 'true':
|
if element.get('nil') == 'true':
|
||||||
return None
|
return None
|
||||||
m = time_re.match(element.text)
|
return wsme.utils.parse_isotime(element.text)
|
||||||
if m:
|
|
||||||
return datetime.time(
|
|
||||||
int(m.group('h')),
|
|
||||||
int(m.group('m')),
|
|
||||||
int(m.group('s')))
|
|
||||||
|
|
||||||
|
|
||||||
@fromxml.when_object(datetime.datetime)
|
@fromxml.when_object(datetime.datetime)
|
||||||
def datetime_fromxml(datatype, element):
|
def datetime_fromxml(datatype, element):
|
||||||
if element.get('nil') == 'true':
|
if element.get('nil') == 'true':
|
||||||
return None
|
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):
|
def parse(s, datatypes, bodyarg):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user