Ejemplo n.º 1
0
def test_parse_currencies_with_large_exponents():
    # Dinars have 3 decimal places, making them awkward to parse because for "normal" currencies, we
    # specifically look for 2 digits after the separator to avoid confusion with thousand sep. For
    # dinars, however, we look for 3 digits adter the decimal sep. So yes, we are vulnerable to
    # confusion with the thousand sep, but well, there isn't much we can do about that.
    eq_(parse_amount('1,000 BHD'), Amount(1, BHD))
    # Moreover, with custom currencies, we might have currencies with even bigger exponent.
    ABC = Currency.register('ABC', 'My foo currency', exponent=5)
    eq_(parse_amount('1.23456 abc'), Amount(1.23456, ABC))
Ejemplo n.º 2
0
 def __init__(self):
     Plugin.__init__(self)
     self.supported_currency_codes = set()
     for code, name, exponent, fallback_rate in self.register_currencies():
         Currency.register(code, name, exponent, latest_rate=fallback_rate)
         self.supported_currency_codes.add(code)