]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Fixed 2.6 bug (Decimal cannot convert floats)
authorbenselme <benselme@gmail.com>
Sun, 11 Jan 2015 23:18:12 +0000 (18:18 -0500)
committerbenselme <benselme@gmail.com>
Sun, 11 Jan 2015 23:18:12 +0000 (18:18 -0500)
babel/plural.py

index 918038e61b5f13be39c337b8184f10c155978bb6..50bf5418182a58d0779fd1b4ad35239dfbd60962 100644 (file)
@@ -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()