Skip to content

Commit 30fe8c2

Browse files
committed
test error situation
1 parent 9e20ce1 commit 30fe8c2

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

pyexcel_odsr/converter.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,18 @@ def time_value(value):
3939
"""convert to time value accroding the specification"""
4040
import re
4141
results = re.match('PT(\d+)H(\d+)M(\d+)S', value)
42-
hour = int(results.group(1))
43-
minute = int(results.group(2))
44-
second = int(results.group(3))
45-
if hour < 24:
46-
ret = datetime.time(hour, minute, second)
42+
if results and len(results.groups()) == 3:
43+
hour = int(results.group(1))
44+
minute = int(results.group(2))
45+
second = int(results.group(3))
46+
if hour < 24:
47+
ret = datetime.time(hour, minute, second)
48+
else:
49+
ret = datetime.timedelta(hours=hour,
50+
minutes=minute,
51+
seconds=second)
4752
else:
48-
ret = datetime.timedelta(hours=hour, minutes=minute, seconds=second)
53+
ret = None
4954
return ret
5055

5156

tests/test_bug_fixes.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,9 @@ def test_issue_1():
6868
data = get_data(os.path.join("tests", "fixtures", test_file),
6969
skip_empty_rows=True, library='pyexcel-odsr')
7070
eq_(data['Sheet1'][0][0].days, 12)
71+
72+
73+
def test_issue_1_error():
74+
from pyexcel_odsr.converter import time_value
75+
result = time_value('PT1111')
76+
eq_(result, None)

0 commit comments

Comments
 (0)