Fix(Core): apply_on_last_level handle NotImplementedError

This commit is contained in:
2018-11-21 09:37:17 +01:00
parent f53aa26542
commit 505d2f1c09
4 changed files with 68 additions and 9 deletions

View File

@@ -35,9 +35,11 @@ Abstracts tools for calculs manipulations
| > 3
| > 4
>>> print(t.apply_on_last_level(compute))
Traceback (most recent call last):
...
NotImplementedError: Can't divide 2 int. Need to create a Fraction instead
+
> 2
> /
| > 3
| > 4
>>> tt = t.apply_on_last_level(typing)
>>> print(tt.apply_on_last_level(compute))
+

View File

@@ -330,6 +330,8 @@ class Tree(object):
try:
left_applied = self.left_value.\
apply_on_last_level(function)
except NotImplementedError:
left_applied = self.left_value
except AttributeError:
left_applied = self.left_value
left_is_leaf = 1
@@ -338,6 +340,8 @@ class Tree(object):
try:
right_applied = self.right_value.\
apply_on_last_level(function)
except NotImplementedError:
right_applied = self.right_value
except AttributeError:
right_applied = self.right_value
right_is_leaf = 1