diff --git a/num2words/__init__.py b/num2words/__init__.py index b1a266b..07ef2bc 100644 --- a/num2words/__init__.py +++ b/num2words/__init__.py @@ -18,11 +18,11 @@ from __future__ import unicode_literals from . import (lang_AR, lang_CZ, lang_DE, lang_DK, lang_EN, lang_EN_IN, - lang_ES, lang_ES_CO, lang_ES_VE, lang_FI, lang_FR, lang_FR_BE, - 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_ES, lang_ES_CO, lang_ES_NI, lang_ES_VE, lang_FI, lang_FR, + lang_FR_BE, 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) CONVERTER_CLASSES = { 'ar': lang_AR.Num2Word_AR(), @@ -37,6 +37,7 @@ CONVERTER_CLASSES = { 'fi': lang_FI.Num2Word_FI(), 'es': lang_ES.Num2Word_ES(), 'es_CO': lang_ES_CO.Num2Word_ES_CO(), + 'es_NI': lang_ES_NI.Num2Word_ES_NI(), 'es_VE': lang_ES_VE.Num2Word_ES_VE(), 'id': lang_ID.Num2Word_ID(), 'ja': lang_JA.Num2Word_JA(), diff --git a/num2words/lang_ES_NI.py b/num2words/lang_ES_NI.py new file mode 100644 index 0000000..9e5f9e8 --- /dev/null +++ b/num2words/lang_ES_NI.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2003, Taro Ogawa. All Rights Reserved. +# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved. + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +from __future__ import print_function, unicode_literals + +from .lang_ES import Num2Word_ES + + +class Num2Word_ES_NI(Num2Word_ES): + CURRENCY_FORMS = { + 'NIO': (('córdoba', 'córdobas'), ('centavo', 'centavos')), + } + + def to_currency(self, val, currency='NIO', cents=True, separator=' con', + adjective=False): + result = super(Num2Word_ES, self).to_currency( + val, currency=currency, cents=cents, separator=separator, + adjective=adjective) + return result.replace("uno", "un") diff --git a/num2words/lang_RU.py b/num2words/lang_RU.py index 3b02526..e822d38 100644 --- a/num2words/lang_RU.py +++ b/num2words/lang_RU.py @@ -107,6 +107,12 @@ class Num2Word_RU(Num2Word_Base): 'USD': ( ('доллар', 'доллара', 'долларов'), ('цент', 'цента', 'центов') ), + 'UAH': ( + ('гривна', 'гривны', 'гривен'), ('копейка', 'копейки', 'копеек') + ), + 'KZT': ( + ('тенге', 'тенге', 'тенге'), ('тиын', 'тиына', 'тиынов') + ), } def setup(self): diff --git a/tests/test_errors.py b/tests/test_errors.py new file mode 100644 index 0000000..fedc16e --- /dev/null +++ b/tests/test_errors.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2003, Taro Ogawa. All Rights Reserved. +# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved. + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +from __future__ import unicode_literals + +from unittest import TestCase + +from num2words import num2words + + +class Num2WordsErrorsTest(TestCase): + + def test_NotImplementedError(self): + with self.assertRaises(NotImplementedError): + num2words(100, lang="lalala") diff --git a/tests/test_es_ni.py b/tests/test_es_ni.py new file mode 100644 index 0000000..619e6a1 --- /dev/null +++ b/tests/test_es_ni.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2003, Taro Ogawa. All Rights Reserved. +# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved. + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +from __future__ import unicode_literals + +from num2words import num2words + +from . import test_es + +TEST_NIO = ( + (1.0, 'un córdoba con cero centavos'), + (2.0, 'dos córdobas con cero centavos'), + (8.0, 'ocho córdobas con cero centavos'), + (12.0, 'doce córdobas con cero centavos'), + (21.0, 'veintiun córdobas con cero centavos'), + (81.25, 'ochenta y un córdobas con veinticinco centavos'), + (100.00, 'cien córdobas con cero centavos'), +) + + +class Num2WordsESNITest(test_es.Num2WordsESTest): + + def test_currency(self): + for test in TEST_NIO: + self.assertEqual( + num2words(test[0], lang='es_NI', to='currency'), + test[1] + )