diff options
Diffstat (limited to 'ishtar_common/utils_secretary.py')
-rw-r--r-- | ishtar_common/utils_secretary.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py index 318f50bdc..188441120 100644 --- a/ishtar_common/utils_secretary.py +++ b/ishtar_common/utils_secretary.py @@ -36,6 +36,7 @@ def float_format(value): return "" if int(value) == value: return int(value) + value = int(value * 100)/100 return formats.localize(value, use_l10n=True) @@ -61,6 +62,27 @@ def lowerfirst_filter(value): return value[0].lower() + value[1:] if value else value +def add_filter(value1, value2): + try: + return float(value1 or 0) + float(value2 or 0) + except ValueError: + return 0 + + +def sub_filter(value1, value2): + try: + return float(value1 or 0) - float(value2 or 0) + except ValueError: + return 0 + + +def multiply_filter(value1, value2): + try: + return float(value1 or 0) * float(value2 or 0) + except ValueError: + return 0 + + RE_CAP = re.compile(r"[^-' ]+") SEP = ("un", "une", "le", "la", "les", "lez", "d", "l", "de", "des", "du", "sur", "sous", "en") @@ -137,6 +159,9 @@ class IshtarSecretaryRenderer(Renderer): self.environment.filters["number_to_words"] = number_to_words self.environment.filters["replace_line_breaks"] = replace_line_breaks self.environment.filters["splitpart"] = splitpart + self.environment.filters["multiply"] = multiply_filter + self.environment.filters["add"] = add_filter + self.environment.filters["sub"] = sub_filter def ishtar_media_loader(self, media, *args, **kwargs): res = self.fs_loader(media, *args, **kwargs) |