4444from spyne .model import ModelBase , XmlAttribute , SimpleModel , Null , \
4545 ByteArray , File , ComplexModelBase , AnyXml , AnyHtml , Unicode , Decimal , \
4646 Double , Integer , Time , DateTime , Uuid , Duration , Boolean , AnyDict , \
47- AnyUri , PushBase
47+ AnyUri , PushBase , Date
4848
4949from spyne .const .http import HTTP_400 , HTTP_401 , HTTP_404 , HTTP_405 , HTTP_413 , \
5050 HTTP_500
@@ -107,6 +107,7 @@ def __init__(self, app=None, mime_type=None, ignore_uncap=False,
107107 Time : self .time_to_bytes ,
108108 Uuid : self .uuid_to_bytes ,
109109 Null : self .null_to_bytes ,
110+ Date : self .date_to_bytes ,
110111 Double : self .double_to_bytes ,
111112 AnyXml : self .any_xml_to_bytes ,
112113 Unicode : self .unicode_to_bytes ,
@@ -125,6 +126,7 @@ def __init__(self, app=None, mime_type=None, ignore_uncap=False,
125126 ModelBase : self .model_base_to_unicode ,
126127 File : self .file_to_unicode ,
127128 Time : self .time_to_bytes ,
129+ Date : self .date_to_bytes ,
128130 Uuid : self .uuid_to_bytes ,
129131 Null : self .null_to_bytes ,
130132 Double : self .double_to_bytes ,
@@ -359,6 +361,14 @@ def integer_to_bytes(self, cls, value, **_):
359361
360362 def time_to_bytes (self , cls , value , ** _ ):
361363 """Returns ISO formatted times."""
364+ if isinstance (value , datetime ):
365+ value = value .time ()
366+ return value .isoformat ()
367+
368+ def date_to_bytes (self , cls , value , ** _ ):
369+ """Returns ISO formatted times."""
370+ if isinstance (value , datetime ):
371+ value = value .date ()
362372 return value .isoformat ()
363373
364374 def datetime_to_bytes (self , cls , val , ** _ ):
0 commit comments