Skip to content

Commit ef625b0

Browse files
author
Jordan Adler
committed
Only import past.utils.old_div() if needed; Verify the expression isnt a nested expression when doing a floaty check
1 parent 03770db commit ef625b0

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/libfuturize/fixes/fix_division_safe.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ def _is_floaty(expr):
4040
return const_re.match(expr.value)
4141
elif isinstance(expr, Node):
4242
# If the expression is a node, let's see if it's a direct cast to float
43-
return expr.children[0].value == u'float'
43+
if isinstance(expr.children[0], Leaf):
44+
return expr.children[0].value == u'float'
4445
return False
4546

4647

@@ -79,7 +80,6 @@ def transform(self, node, results):
7980
return
8081
future_import(u"division", node)
8182

82-
touch_import_top(u'past.utils', u'old_div', node)
8383
expr1, expr2 = results[0].clone(), results[1].clone()
8484
# Strip any leading space for the first number:
8585
expr1.prefix = u''
@@ -88,5 +88,6 @@ def transform(self, node, results):
8888
# should be the same in 2 or 3
8989
if _is_floaty(expr1) or _is_floaty(expr2):
9090
return
91+
touch_import_top(u'past.utils', u'old_div', node)
9192
return wrap_in_fn_call("old_div", (expr1, expr2), prefix=node.prefix)
9293

0 commit comments

Comments
 (0)