From 21d6efe915a6b41630878805fcfa06e50c601d13 Mon Sep 17 00:00:00 2001 From: benselme Date: Sun, 11 Jan 2015 18:18:12 -0500 Subject: [PATCH] Fixed 2.6 bug (Decimal cannot convert floats) --- babel/plural.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/babel/plural.py b/babel/plural.py index 918038e6..50bf5418 100644 --- a/babel/plural.py +++ b/babel/plural.py @@ -10,6 +10,7 @@ """ import decimal import re +import sys _plural_tags = ('zero', 'one', 'two', 'few', 'many', 'other') @@ -25,7 +26,13 @@ def extract_operands(source): n = abs(source) i = int(n) if isinstance(n, float): - n = i if i == n else decimal.Decimal(n) + if i == n: + n = i + else: + # 2.6's Decimal cannot convert from float directly + if sys.version_info < (2, 7): + n = str(n) + n = decimal.Decimal(n) if isinstance(n, decimal.Decimal): dec_tuple = n.as_tuple() -- 2.47.2