def en_percent(num, ndigits="not-given"): """ Format given number as percent in en-US locale. """ with translation.override("en-US"): if ndigits == "not-given": return percent(Decimal(num)) else: return percent(Decimal(num), ndigits)
def test_number_formatters(): with override_settings(SHOOP_HOME_CURRENCY="USD"): with translation.override("en-US"): assert percent(Decimal("0.38")) == "38%" assert number(Decimal("38.00000")) == "38" assert number(Decimal("38.05000")) == "38.05" assert home_currency(Decimal("29.99")) == "$29.99" with translation.override("fi-FI"): assert percent(Decimal("0.38")) == "38\xa0%" assert number(Decimal("38.00000")) == "38" assert number(Decimal("38.05000")) == "38,05" assert home_currency(Decimal("29.99")) == "29,99\xa0$"
def test_number_formatters_fi(): with translation.override("fi-FI"): assert percent(Decimal("0.38")) == nbsp("38 %") assert number(Decimal("38.00000")) == "38" assert number(Decimal("38.05000")) == "38,05"
def test_number_formatters_en(): with translation.override("en-US"): assert percent(Decimal("0.38")) == "38%" assert number(Decimal("38.00000")) == "38" assert number(Decimal("38.05000")) == "38.05"
def __call__(self, context, item, quantity=1): priceful = _get_priceful(context.get('request'), item, quantity) if not priceful: return "" return percent(getattr(priceful, self.property_name))