From 6b3d3033321eb7bb845711e3b246474d1222d35d Mon Sep 17 00:00:00 2001 From: VENUGOPAL ACHHE Date: Thu, 13 Jun 2019 17:26:17 +0200 Subject: [PATCH] Add Telugu Num2Words. --- num2words/__init__.py | 2 +- num2words/lang_TE.py | 54 ++++++++++++++++++++++++++++++++----------- tests/test_te.py | 23 +++++++++++------- 3 files changed, 57 insertions(+), 22 deletions(-) diff --git a/num2words/__init__.py b/num2words/__init__.py index 002b7bf..5745102 100644 --- a/num2words/__init__.py +++ b/num2words/__init__.py @@ -22,7 +22,7 @@ from . import (lang_AR, lang_CZ, lang_DE, lang_DK, lang_EN, lang_EN_IN, lang_FR_CH, lang_FR_DZ, lang_HE, lang_ID, lang_IT, lang_JA, lang_KN, lang_KO, lang_LT, lang_LV, lang_NL, lang_NO, lang_PL, lang_PT, lang_PT_BR, lang_RO, lang_RU, lang_SL, lang_SR, - lang_TH, lang_TR, lang_UK, lang_VI, lang_TE) + lang_TE, lang_TH, lang_TR, lang_UK, lang_VI) CONVERTER_CLASSES = { 'ar': lang_AR.Num2Word_AR(), diff --git a/num2words/lang_TE.py b/num2words/lang_TE.py index 1bdbe48..819ebcd 100644 --- a/num2words/lang_TE.py +++ b/num2words/lang_TE.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + from __future__ import unicode_literals from .base import Num2Word_Base @@ -10,25 +12,51 @@ class Num2Word_TE(Num2Word_Base): def setup(self): self.low_numwords = [ - - "తొంభై తొమ్మిది", "తొంభై ఎనిమిది", "తొంభై ఏడు", "తొంభై ఆరు", "తొంభై అయిదు", "తొంభై నాలుగు ", "తొంభై మూడు", "తొంభై రెండు", "తొంభై ఒకటి", "తొంభై ", "ఎనభై తొమ్మిది", "ఎనభై ఎనిమిది", "ఎనభై ఏడు", "ఎనభై ఆరు", "ఎనభై అయిదు", - "ఎనభై నాలుగు", "ఎనభై మూడు", "ఎనభై రెండు" , "ఎనభై ఒకటి", "ఎనభై" ,"డెబ్బై తొమ్మిది" , "డెబ్బై ఎనిమిది" , "డెబ్బై ఏడు" , "డెబ్బై ఆరు" , "డెబ్బై అయిదు" , "డెబ్బై నాలుగు" ,"డెబ్బై మూడు", "డెబ్బై రెండు", "డెబ్బై ఒకటి" ,"డెబ్బై" , - "అరవై తొమ్మిది ", "అరవై ఎనిమిది" , "అరవై ఏడు " , "అరవై ఆరు ","అరవై అయిదు ", "అరవై నాలుగు ", "అరవై మూడు ", "అరవై రెండు ", "అరవై ఒకటి" , "అరవై " , "యాభై తొమ్మిది", "యాభై ఎనిమిది" , "యాభై ఏడు", "యాభై ఆరు", - "యాభై అయిదు", "యాభై నాలుగు", "యాభై మూడు" , "యాభై రెండు", "యాభై ఒకటి", "యాభై " , "నలభై తొమ్మిది" ,"నలభై ఎనిమిది", "నలభై ఏడు", "నలభై ఆరు", "నలభై అయిదు" , "నలభై నాలుగు", "నలభై మూడు", "నలభై రెండు" , - "నలభై ఒకటి" , "నలభై" , "ముప్పై తొమ్మిది", "ముప్పై ఎనిమిది", "ముప్పై ఏడు", "ముప్పై ఆరు", "ముప్పై ఐదు", "ముప్పై నాలుగు", "ముప్పై మూడు", "ముప్పై రెండు", "ముప్పై ఒకటి", "ముప్పై", "ఇరవై తొమ్మిది", "ఇరవై ఎనిమిది", "ఇరవై ఏడు", - "ఇరవై ఆరు", "ఇరవై అయిదు", "ఇరవై నాలుగు", "ఇరవై మూడు", "ఇరవై రెండు", "ఇరవై ఒకటి", "ఇరవై", "పందొమ్మిది", "పధ్ధెనిమిది", "పదిహేడు", "పదహారు", "పదునయిదు", "పధ్నాలుగు", "పదమూడు", "పన్నెండు", "పదకొండు", "పది", "తొమ్మిది", - "ఎనిమిది", "ఏడు", "ఆరు", "అయిదు","నాలుగు", "మూడు", "రెండు", "ఒకటి", "సున్న" - ] + "తొంభై తొమ్మిది", "తొంభై ఎనిమిది", "తొంభై ఏడు", "తొంభై ఆరు", + "తొంభై అయిదు", "తొంభై నాలుగు ", "తొంభై మూడు", "తొంభై రెండు", + "తొంభై ఒకటి", "తొంభై ", "ఎనభై తొమ్మిది", "ఎనభై ఎనిమిది", + "ఎనభై ఏడు", "ఎనభై ఆరు", "ఎనభై అయిదు", "ఎనభై నాలుగు", + "ఎనభై మూడు", "ఎనభై రెండు", "ఎనభై ఒకటి", "ఎనభై", + "డెబ్బై తొమ్మిది", "డెబ్బై ఎనిమిది", "డెబ్బై ఏడు", + "డెబ్బై ఆరు", "డెబ్బై అయిదు", "డెబ్బై నాలుగు", + "డెబ్బై మూడు", "డెబ్బై రెండు", + "డెబ్బై ఒకటి", "డెబ్బై", "అరవై తొమ్మిది ", "అరవై ఎనిమిది", + "అరవై ఏడు ", "అరవై ఆరు ", "అరవై అయిదు ", "అరవై నాలుగు ", + "అరవై మూడు ", "అరవై రెండు ", + "అరవై ఒకటి", "అరవై ", + "యాభై తొమ్మిది", "యాభై ఎనిమిది", + "యాభై ఏడు", "యాభై ఆరు", + "యాభై అయిదు", "యాభై నాలుగు", + "యాభై మూడు", "యాభై రెండు", + "యాభై ఒకటి", "యాభై ", + "నలభై తొమ్మిది", "నలభై ఎనిమిది", "నలభై ఏడు", + "నలభై ఆరు", "నలభై అయిదు", + "నలభై నాలుగు", "నలభై మూడు", "నలభై రెండు", + "నలభై ఒకటి", "నలభై", "ముప్పై తొమ్మిది", + "ముప్పై ఎనిమిది", "ముప్పై ఏడు", "ముప్పై ఆరు", "ముప్పై ఐదు", + "ముప్పై నాలుగు", "ముప్పై మూడు", + "ముప్పై రెండు", "ముప్పై ఒకటి", "ముప్పై", "ఇరవై తొమ్మిది", + "ఇరవై ఎనిమిది", "ఇరవై ఏడు", + "ఇరవై ఆరు", "ఇరవై అయిదు", "ఇరవై నాలుగు", + "ఇరవై మూడు", "ఇరవై రెండు", "ఇరవై ఒకటి", "ఇరవై", + "పందొమ్మిది", "పధ్ధెనిమిది", "పదిహేడు", "పదహారు", + "పదునయిదు", "పధ్నాలుగు", + "పదమూడు", "పన్నెండు", "పదకొండు", "పది", "తొమ్మిది", + "ఎనిమిది", "ఏడు", "ఆరు", "అయిదు", + "నాలుగు", "మూడు", "రెండు", "ఒకటి", "సున్న" + ] self.mid_numwords = [(100, "వందల")] - self.high_numwords = [(7, "కోటి" ), (5, "లక్షల"), (3, "వేల" )] + self.high_numwords = [(7, "కోటి"), (5, "లక్షల"), (3, "వేల")] self.pointword = "బిందువు " - self.modifiers = [ - " ్ ","ా", " ి ", " ీ "," ు "," ూ " ," ృ "," ౄ " ," ె " ," ే " ," ై " ," ొ" ," ో " ," ౌ " ," ఁ " ," ం " ," ః " - ] + self.modifiers = [ + " ్ ", "ా", " ి ", " ీ ", " ు ", " ూ ", " ృ ", + " ౄ ", " ె ", " ే ", " ై ", " ొ", " ో ", + " ౌ ", " ఁ ", " ం ", " ః " + ] def merge(self, lpair, rpair): ltext, lnum = lpair diff --git a/tests/test_te.py b/tests/test_te.py index d74c827..fc806d5 100644 --- a/tests/test_te.py +++ b/tests/test_te.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + from unittest import TestCase from num2words import num2words @@ -5,23 +7,26 @@ from num2words import num2words class Num2WordsTETest(TestCase): def test_numbers(self): - self.assertEqual(num2words(42, lang="te"), u"నలభై రెండు ") + self.assertEqual(num2words(42, lang="te"), u"నలభై రెండు") self.assertEqual(num2words(893, lang="te"), u"ఎనిమిది వందల తొంబై మూడు") self.assertEqual( num2words(1729, lang="te"), u"ఒక వేయి ఏడు వందల ఇరవై తొమ్మిది ") self.assertEqual(num2words(123, lang="te"), u"ఒక వంద ఇరవై మూడు") self.assertEqual(num2words(32211, lang="te"), - u"ముప్పై రెండు వేల రెండు వందల పదకొండు") + u"ముప్పై రెండు వేల రెండు వందల పదకొండు") def test_cardinal_for_float_number(self): - self.assertEqual(num2words(3.14, lang="te"), u"మూడు బిందువు ఒకటి నాలుగు ") + self.assertEqual( + num2words(3.14, lang="te"), + u"మూడుబిందువు ఒకటి నాలుగు" + ) self.assertEqual(num2words(1.61803, lang="te"), u"ఒకటి బిందువు ఆరు ఒకటి ఎనిమిది సున్నా మూడు ") def test_ordinal(self): self.assertEqual( num2words(1, lang='te', to='ordinal'), - u'ఒకటవ ' + u'ఒకటివ ' ) self.assertEqual( num2words(22, lang='te', to='ordinal'), @@ -41,8 +46,10 @@ class Num2WordsTETest(TestCase): ) def test_ordinal_num(self): - self.assertEqual(num2words(2, lang="te", ordinal=True), u"రెండవ") + self.assertEqual( + num2words(2, lang="te", ordinal=True), u"రెండవ") self.assertEqual(num2words(5, lang="te", ordinal=True), u"అయిదవ ") - self.assertEqual(num2words(16, lang="te", ordinal=True), u"పదహారవ ") - self.assertEqual(num2words(113, lang="te", ordinal=True), - u"ఒక వంద పదమూడవ") + self.assertEqual( + num2words(16, lang="te", ordinal=True), u"పదహారవ ") + self.assertEqual( + num2words(113, lang="te", ordinal=True), u"ఒక వంద పదమూడవ")