diff --git a/num2words/__init__.py b/num2words/__init__.py index c513d853..9935c4e9 100644 --- a/num2words/__init__.py +++ b/num2words/__init__.py @@ -25,7 +25,7 @@ lang_IT, lang_JA, lang_KN, lang_KO, lang_KZ, lang_LT, lang_LV, lang_NL, lang_NO, lang_PL, lang_PT, lang_PT_BR, lang_RO, lang_RU, lang_SK, lang_SL, lang_SR, lang_SV, lang_TE, lang_TET, - lang_TG, lang_TH, lang_TR, lang_UK, lang_VI) + lang_TG, lang_TH, lang_TR, lang_UK, lang_VI, lang_ES_HN) CONVERTER_CLASSES = { 'am': lang_AM.Num2Word_AM(), @@ -51,6 +51,7 @@ 'es_CO': lang_ES_CO.Num2Word_ES_CO(), 'es_CR': lang_ES_CR.Num2Word_ES_CR(), 'es_GT': lang_ES_GT.Num2Word_ES_GT(), + 'es_HN': lang_ES_HN.Num2Word_ES_HN(), 'es_NI': lang_ES_NI.Num2Word_ES_NI(), 'es_VE': lang_ES_VE.Num2Word_ES_VE(), 'id': lang_ID.Num2Word_ID(), diff --git a/num2words/lang_ES_HN.py b/num2words/lang_ES_HN.py new file mode 100644 index 00000000..c2d00701 --- /dev/null +++ b/num2words/lang_ES_HN.py @@ -0,0 +1,32 @@ +# 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_HN(Num2Word_ES): + CURRENCY_FORMS = { + 'HNL': (('lempira', 'lempiras'), ('centavo', 'centavos')), + } + + def to_currency(self, val, currency='HNL', 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/tests/test_es_hn.py b/tests/test_es_hn.py new file mode 100644 index 00000000..ca1e890e --- /dev/null +++ b/tests/test_es_hn.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_HNL = ( + (1.0, 'un lempira con cero centavos'), + (2.0, 'dos lempiras con cero centavos'), + (8.5, 'ocho lempiras con cincuenta centavos'), + (12.256, 'doce lempiras con veintiséis centavos'), + (25.6, 'veinticinco lempiras con sesenta centavos'), + (96.55, 'noventa y seis lempiras con cincuenta y cinco centavos'), + (100.00, 'cien lempiras con cero centavos'), +) + + +class Num2WordsHNHNLTest(test_es.Num2WordsESTest): + + def test_currency(self): + for test in TEST_HNL: + self.assertEqual( + num2words(test[0], lang='es_HN', to='currency'), + test[1] + )