File tree Expand file tree Collapse file tree 2 files changed +32
-16
lines changed Expand file tree Collapse file tree 2 files changed +32
-16
lines changed Original file line number Diff line number Diff line change @@ -30,11 +30,26 @@ def float_value(value):
30
30
31
31
32
32
def date_value (value ):
33
- tokens = value .split ('-' )
34
- year = int (tokens [0 ])
35
- month = int (tokens [1 ])
36
- day = int (tokens [2 ])
37
- ret = datetime .date (year , month , day )
33
+ ret = "invalid"
34
+ try :
35
+ # catch strptime exceptions only
36
+ if len (value ) == 10 :
37
+ ret = datetime .datetime .strptime (
38
+ value ,
39
+ "%Y-%m-%d" )
40
+ ret = ret .date ()
41
+ elif len (value ) == 19 :
42
+ ret = datetime .datetime .strptime (
43
+ value ,
44
+ "%Y-%m-%dT%H:%M:%S" )
45
+ elif len (value ) > 19 :
46
+ ret = datetime .datetime .strptime (
47
+ value [0 :26 ],
48
+ "%Y-%m-%dT%H:%M:%S.%f" )
49
+ except :
50
+ pass
51
+ if ret == "invalid" :
52
+ raise Exception ("Bad date value %s" % value )
38
53
return ret
39
54
40
55
@@ -63,6 +78,17 @@ def boolean_value(value):
63
78
}
64
79
65
80
81
+ ODS_WRITE_FORMAT_COVERSION = {
82
+ float : "float" ,
83
+ int : "float" ,
84
+ str : "string" ,
85
+ datetime .date : "date" ,
86
+ datetime .time : "time" ,
87
+ datetime .timedelta : "timedelta" ,
88
+ bool : "boolean"
89
+ }
90
+
91
+
66
92
VALUE_CONVERTERS = {
67
93
"float" : float_value ,
68
94
"date" : date_value ,
@@ -82,16 +108,6 @@ def boolean_value(value):
82
108
"currency" : "value"
83
109
}
84
110
85
- ODS_WRITE_FORMAT_COVERSION = {
86
- float : "float" ,
87
- int : "float" ,
88
- str : "string" ,
89
- datetime .date : "date" ,
90
- datetime .time : "time" ,
91
- datetime .timedelta : "timedelta" ,
92
- bool : "boolean"
93
- }
94
-
95
111
96
112
if sys .version_info [0 ] < 3 :
97
113
ODS_WRITE_FORMAT_COVERSION [unicode ] = "string"
Original file line number Diff line number Diff line change 1
- nosetests --with-cov --cov pyexcel_ods3 --cov tests --with-doctest --doctest-extension=.rst
1
+ nosetests --with-cov --cov pyexcel_ods3 --cov tests --with-doctest --doctest-extension=.rst -I applymoban.py -I setup.py
You can’t perform that action at this time.
0 commit comments