def currency(value): """ Format a value as currency according to locale. """ set_locale() if not value: value = 0 if hasattr(locale, "currency"): value = locale.currency(Decimal(value), grouping=True) if platform.system() == 'Windows': try: value = str(value, encoding='iso_8859_1') except TypeError: pass else: # based on locale.currency() in python >= 2.5 conv = locale.localeconv() value = [ conv["currency_symbol"], conv["p_sep_by_space"] and " " or "", (("%%.%sf" % conv["frac_digits"]) % value).replace( ".", conv["mon_decimal_point"]) ] if not conv["p_cs_precedes"]: value.reverse() value = "".join(value) return value.replace('.00 руб'.encode('utf8'), ' \u20bd'.encode('utf8'))
def currency(value): """ Replacement of cartridge's currency filter with international currency sign """ set_locale() if not value: value = 0 return locale.currency(Decimal(value), grouping=True, international=True)
def __init__(self, *args, **kwargs): set_locale() defaults = { "null": True, "blank": True, "max_digits": 10, "decimal_places": localeconv()["frac_digits"] } defaults.update(kwargs) super(MoneyField, self).__init__(*args, **defaults)
def render(self, name, value, attrs): try: value = float(value) except (TypeError, ValueError): pass else: set_locale() value = ("%%.%sf" % localeconv()["frac_digits"]) % value attrs["style"] = "text-align:right;" return super(MoneyWidget, self).render(name, value, attrs)
def currency(value): """ Format a value as currency according to locale. """ set_locale() if not value: value = 0 value = locale.currency(Decimal(value), grouping=True) if platform.system() == "Windows": try: value = str(value, encoding=locale.getpreferredencoding()) except TypeError: pass return value
def currency(value): """ Format a value as currency according to locale. """ set_locale() if not value: value = 0 value = locale.currency(Decimal(value), grouping=True) if platform.system() == 'Windows': try: value = str(value, encoding=locale.getpreferredencoding()) except TypeError: pass return value
def currency(value): """ Format a value as currency according to locale. """ set_locale() if not value: value = 0 if hasattr(locale, "currency"): value = locale.currency(value) else: # based on locale.currency() in python >= 2.5 conv = locale.localeconv() value = [conv["currency_symbol"], conv["p_sep_by_space"] and " " or "", (("%%.%sf" % conv["frac_digits"]) % value).replace(".", conv["mon_decimal_point"])] if not conv["p_cs_precedes"]: value.reverse() value = "".join(value) return value
def currency(value): """ Format a value as currency according to locale. """ set_locale() if not value: value = 0 if hasattr(locale, "currency"): value = locale.currency(value, grouping=True) else: # based on locale.currency() in python >= 2.5 conv = locale.localeconv() value = [ conv["currency_symbol"], conv["p_sep_by_space"] and " " or "", (("%%.%sf" % conv["frac_digits"]) % value).replace( ".", conv["mon_decimal_point"]) ] if not conv["p_cs_precedes"]: value.reverse() value = "".join(value) return value
def currency(value): """ Format a value as currency according to locale. """ set_locale() if not value: value = 0 if hasattr(locale, "currency"): value = locale.currency(Decimal(value), grouping=True) if platform.system() == 'Windows': value = str(value, encoding='iso_8859_1') else: # based on locale.currency() in python >= 2.5 conv = locale.localeconv() value = [conv["currency_symbol"], conv["p_sep_by_space"] and " " or "", (("%%.%sf" % conv["frac_digits"]) % value).replace(".", conv["mon_decimal_point"])] if not conv["p_cs_precedes"]: value.reverse() value = "".join(value) return value
def __init__(self, *args, **kwargs): set_locale() defaults = {"null": True, "blank": True, "max_digits": 10, "decimal_places": localeconv()["frac_digits"]} defaults.update(kwargs) super(MoneyField, self).__init__(*args, **defaults)