fix flake8 problems

This commit is contained in:
hamidreza kalbasi
2021-01-25 10:34:01 +03:30
committed by Willem Van Onsem
parent 3d2fa184cf
commit 464f9ed7af
2 changed files with 25 additions and 18 deletions

View File

@@ -17,7 +17,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
import re
from decimal import Decimal
from math import floor
@@ -76,6 +75,7 @@ farsiFracBig = ["", "هزارم", "میلیونیم", "میلیاردیم"]
farsiSeperator = ' و '
class Num2Word_FA(object):
errmsg_too_big = "Too large"
max_num = 10 ** 36
@@ -100,7 +100,6 @@ class Num2Word_FA(object):
post = int(floor(post))
return pre, post, self.precision
def cardinal3(self, number):
if (number < 19):
return farsiOnes[number]
@@ -108,12 +107,12 @@ class Num2Word_FA(object):
x, y = divmod(number, 10)
if y == 0:
return farsiTens[x]
return farsiTens[x] + farsiSeperator + farsiOnes[y]
return farsiTens[x] + farsiSeperator + farsiOnes[y]
x, y = divmod(number, 100)
if y == 0:
return farsiHundreds[x]
return farsiHundreds[x] + farsiSeperator + self.cardinal3(y)
def cardinalPos(self, number):
x = number
res = ''
@@ -130,11 +129,11 @@ class Num2Word_FA(object):
res = yx + farsiSeperator + res
return res
def fractional(self, number, l):
def fractional(self, number, level):
if (number == 5):
return "نیم"
x = self.cardinalPos(number)
ld3, lm3 = divmod(l, 3)
ld3, lm3 = divmod(level, 3)
ltext = (farsiFrac[lm3] + " " + farsiFracBig[ld3]).strip()
return x + " " + ltext
@@ -158,9 +157,9 @@ class Num2Word_FA(object):
return "منفی " + self.to_cardinal(-number)
if (number == 0):
return "صفر"
x, y, l = self.float2tuple(number)
x, y, level = self.float2tuple(number)
if y == 0:
return self.cardinalPos(x)
if x == 0:
return self.fractional(y, l)
return self.cardinalPos(x) + farsiSeperator + self.fractional(y, l)
return self.fractional(y, level)
return self.cardinalPos(x) + farsiSeperator + self.fractional(y, level)

View File

@@ -62,16 +62,21 @@ class Num2WordsFATest(TestCase):
self.assertEqual(num2words(-203, lang='fa'), "منفی دویست و سه")
self.assertEqual(
num2words(1234567890, lang='fa'),
"یک میلیارد و دویست و سی و چهار میلیون و پانصد و شصت و هفت هزار و هشتصد و نود"
"یک میلیارد و دویست و سی و چهار میلیون و"
" پانصد و شصت و هفت هزار و هشتصد و نود"
)
def test_year(self):
self.assertEqual(num2words(1398, lang='fa', to='year'), "هزار و سیصد و نود و هشت")
self.assertEqual(num2words(1399, lang='fa', to='year'), "هزار و سیصد و نود و نه")
self.assertEqual(num2words(1400, lang='fa', to='year'), "هزار و چهارصد")
self.assertEqual(num2words(1398, lang='fa', to='year'),
"هزار و سیصد و نود و هشت")
self.assertEqual(num2words(1399, lang='fa', to='year'),
"هزار و سیصد و نود و نه")
self.assertEqual(
num2words(1400, lang='fa', to='year'), "هزار و چهارصد")
def test_currency(self):
self.assertEqual(num2words(1000, lang='fa', to='currency'), 'هزار تومان')
self.assertEqual(
num2words(1000, lang='fa', to='currency'), 'هزار تومان')
self.assertEqual(
num2words(1500000, lang='fa', to='currency'),
'یک میلیون و پانصد هزار تومان'
@@ -86,9 +91,12 @@ class Num2WordsFATest(TestCase):
def test_cardinal_for_float_number(self):
self.assertEqual(num2words(12.5, lang='fa'), "دوازده و نیم")
self.assertEqual(num2words(0.75, lang='fa'), "هفتاد و پنج صدم")
self.assertEqual(num2words(12.51, lang='fa'), "دوازده و پنجاه و یک صدم")
self.assertEqual(num2words(12.53, lang='fa'), "دوازده و پنجاه و سه صدم")
self.assertEqual(num2words(12.59, lang='fa'), "دوازده و پنجاه و نه صدم")
self.assertEqual(num2words(12.51, lang='fa'),
"دوازده و پنجاه و یک صدم")
self.assertEqual(num2words(12.53, lang='fa'),
"دوازده و پنجاه و سه صدم")
self.assertEqual(num2words(12.59, lang='fa'),
"دوازده و پنجاه و نه صدم")
self.assertEqual(num2words(0.000001, lang='fa'), "یک میلیونیم")
def test_overflow(self):