@@ -160,13 +160,12 @@ def convert_datetime(obj):
160
160
>>> convert_datetime('2007-02-25T23:06:20')
161
161
datetime.datetime(2007, 2, 25, 23, 6, 20)
162
162
163
- Illegal values are returned as None:
164
-
165
- >>> convert_datetime('2007-02-31T23:06:20') is None
166
- True
167
- >>> convert_datetime('0000-00-00 00:00:00') is None
168
- True
163
+ Illegal values are returned as str:
169
164
165
+ >>> convert_datetime('2007-02-31T23:06:20')
166
+ '2007-02-31T23:06:20'
167
+ >>> convert_datetime('0000-00-00 00:00:00')
168
+ '0000-00-00 00:00:00'
170
169
"""
171
170
if isinstance (obj , (bytes , bytearray )):
172
171
obj = obj .decode ("ascii" )
@@ -190,14 +189,14 @@ def convert_timedelta(obj):
190
189
"""Returns a TIME column as a timedelta object:
191
190
192
191
>>> convert_timedelta('25:06:17')
193
- datetime.timedelta(1, 3977)
192
+ datetime.timedelta(days= 1, seconds= 3977)
194
193
>>> convert_timedelta('-25:06:17')
195
- datetime.timedelta(-2, 83177 )
194
+ datetime.timedelta(days= -2, seconds=82423 )
196
195
197
- Illegal values are returned as None :
196
+ Illegal values are returned as string :
198
197
199
- >>> convert_timedelta('random crap') is None
200
- True
198
+ >>> convert_timedelta('random crap')
199
+ 'random crap'
201
200
202
201
Note that MySQL always returns TIME columns as (+|-)HH:MM:SS, but
203
202
can accept values as (+|-)DD HH:MM:SS. The latter format will not
@@ -239,12 +238,12 @@ def convert_time(obj):
239
238
>>> convert_time('15:06:17')
240
239
datetime.time(15, 6, 17)
241
240
242
- Illegal values are returned as None :
241
+ Illegal values are returned as str :
243
242
244
- >>> convert_time('-25:06:17') is None
245
- True
246
- >>> convert_time('random crap') is None
247
- True
243
+ >>> convert_time('-25:06:17')
244
+ '-25:06:17'
245
+ >>> convert_time('random crap')
246
+ 'random crap'
248
247
249
248
Note that MySQL always returns TIME columns as (+|-)HH:MM:SS, but
250
249
can accept values as (+|-)DD HH:MM:SS. The latter format will not
@@ -282,13 +281,12 @@ def convert_date(obj):
282
281
>>> convert_date('2007-02-26')
283
282
datetime.date(2007, 2, 26)
284
283
285
- Illegal values are returned as None:
286
-
287
- >>> convert_date('2007-02-31') is None
288
- True
289
- >>> convert_date('0000-00-00') is None
290
- True
284
+ Illegal values are returned as str:
291
285
286
+ >>> convert_date('2007-02-31')
287
+ '2007-02-31'
288
+ >>> convert_date('0000-00-00')
289
+ '0000-00-00'
292
290
"""
293
291
if isinstance (obj , (bytes , bytearray )):
294
292
obj = obj .decode ("ascii" )
@@ -362,3 +360,5 @@ def through(x):
362
360
conversions = encoders .copy ()
363
361
conversions .update (decoders )
364
362
Thing2Literal = escape_str
363
+
364
+ # Run doctests with `pytest --doctest-modules pymysql/converters.py`
0 commit comments