Fix broken test and codacy warning

- Restore nice_number_it
- Fix codacy warning about overriding str
- Fix octal representation of times in convert_time test
pull/1394/head
Åke Forslund 2018-01-31 13:46:01 +01:00
parent 2811a74adc
commit 044c4c3c0f
3 changed files with 20 additions and 18 deletions

View File

@ -50,6 +50,8 @@ def nice_number(number, lang="en-us", speech=True, denominators=None):
return nice_number_en(result)
elif lang_lower.startswith("pt"):
return nice_number_pt(result)
elif lang_lower.startswith("it"):
return nice_number_it(result)
# Default to the raw number for unsupported languages,
# hopefully the STT engine will pronounce understandably.

View File

@ -157,40 +157,40 @@ def nice_time_en(dt, speech=True, use_24hour=False, use_ampm=False):
"""
if use_24hour:
# e.g. "03:01" or "14:22"
str = dt.strftime("%H:%M")
string = dt.strftime("%H:%M")
else:
if use_ampm:
# e.g. "3:01 AM" or "2:22 PM"
str = dt.strftime("%I:%M %p")
string = dt.strftime("%I:%M %p")
else:
# e.g. "3:01" or "2:22"
str = dt.strftime("%I:%M")
if str[0] == '0':
str = str[1:] # strip leading zeros
string = dt.strftime("%I:%M")
if string[0] == '0':
string = string[1:] # strip leading zeros
if not speech:
return str
return string
# Generate a speakable version of the time
if use_24hour:
speak = ""
# Either "0 8 hundred" or "13 hundred"
if str[0] == '0':
speak += pronounce_number_en(int(str[0])) + " "
speak += pronounce_number_en(int(str[1]))
if string[0] == '0':
speak += pronounce_number_en(int(string[0])) + " "
speak += pronounce_number_en(int(string[1]))
else:
speak = pronounce_number_en(int(str[0:2]))
speak = pronounce_number_en(int(string[0:2]))
speak += " "
if str[3:5] == '00':
if string[3:5] == '00':
speak += "hundred"
else:
if str[3] == '0':
if string[3] == '0':
speak += pronounce_number_en(0) + " "
speak += pronounce_number_en(int(str[4]))
speak += pronounce_number_en(int(string[4]))
else:
speak += pronounce_number_en(int(str[3:5]))
speak += pronounce_number_en(int(string[3:5]))
return speak
else:
if dt.hour == 0 and dt.minute == 0:

View File

@ -143,7 +143,7 @@ class TestPronounceNumber(unittest.TestCase):
class TestNiceDateFormat(unittest.TestCase):
def test_convert_times(self):
dt = datetime.datetime(2017, 1, 31,
13, 22, 03)
13, 22, 3)
# Verify defaults haven't changed
self.assertEqual(nice_time(dt),
@ -168,7 +168,7 @@ class TestNiceDateFormat(unittest.TestCase):
"thirteen twenty two")
dt = datetime.datetime(2017, 1, 31,
13, 00, 03)
13, 0, 3)
self.assertEqual(nice_time(dt),
"one o'clock")
self.assertEqual(nice_time(dt, use_ampm=True),
@ -188,7 +188,7 @@ class TestNiceDateFormat(unittest.TestCase):
"thirteen hundred")
dt = datetime.datetime(2017, 1, 31,
13, 02, 03)
13, 2, 3)
self.assertEqual(nice_time(dt),
"one oh two")
self.assertEqual(nice_time(dt, use_ampm=True),
@ -208,7 +208,7 @@ class TestNiceDateFormat(unittest.TestCase):
"thirteen zero two")
dt = datetime.datetime(2017, 1, 31,
00, 02, 03)
0, 2, 3)
self.assertEqual(nice_time(dt),
"twelve oh two")
self.assertEqual(nice_time(dt, use_ampm=True),