Style: apply black

This commit is contained in:
2019-05-14 06:55:56 +02:00
parent 7097801306
commit 09b04d2703
35 changed files with 533 additions and 354 deletions

View File

@@ -8,7 +8,8 @@
from ..operator import OPERATORS
__all__ = ['tree2txt']
__all__ = ["tree2txt"]
def plus2txt(left, right):
""" + rendering
@@ -41,6 +42,7 @@ def plus2txt(left, right):
return f"{left_} {right_}"
def minus2txt(left, right):
""" - rendering
@@ -54,7 +56,7 @@ def minus2txt(left, right):
"""
try:
right_need_parenthesis = False
if OPERATORS[right.node]["precedence"] < OPERATORS['-']["precedence"]:
if OPERATORS[right.node]["precedence"] < OPERATORS["-"]["precedence"]:
right_need_parenthesis = True
except AttributeError:
right_ = right.__txt__
@@ -66,6 +68,7 @@ def minus2txt(left, right):
return f"- {right_}"
def mul2txt(left, right):
""" * rendering
@@ -96,9 +99,9 @@ def mul2txt(left, right):
if right_[0].isalpha():
# TODO: C'est bien beurk en dessous... |ven. déc. 21 12:03:07 CET 2018
if type(left).__name__ == 'MOnumber':
if type(left).__name__ == "MOnumber":
display_time = False
elif right_[0] == '(':
elif right_[0] == "(":
display_time = False
if display_time:
@@ -106,6 +109,7 @@ def mul2txt(left, right):
else:
return f"{left_}{right_}"
def div2txt(left, right):
""" / rendering
@@ -125,7 +129,7 @@ def div2txt(left, right):
"""
try:
left_need_parenthesis = False
if OPERATORS[left.node]["precedence"] < OPERATORS['/']["precedence"]:
if OPERATORS[left.node]["precedence"] < OPERATORS["/"]["precedence"]:
left_need_parenthesis = True
except AttributeError:
left_ = left.__txt__
@@ -136,7 +140,7 @@ def div2txt(left, right):
left_ = tree2txt(left)
try:
right_need_parenthesis = False
if OPERATORS[right.node]["precedence"] < OPERATORS['/']["precedence"]:
if OPERATORS[right.node]["precedence"] < OPERATORS["/"]["precedence"]:
right_need_parenthesis = True
except AttributeError:
right_ = right.__txt__
@@ -148,6 +152,7 @@ def div2txt(left, right):
return f"{left_} / {right_}"
def pow2txt(left, right):
""" ^ rendering
@@ -169,7 +174,7 @@ def pow2txt(left, right):
try:
right_need_parenthesis = False
if OPERATORS[right.node]["precedence"] < OPERATORS['^']["precedence"]:
if OPERATORS[right.node]["precedence"] < OPERATORS["^"]["precedence"]:
right_need_parenthesis = True
except AttributeError:
right_ = right.__txt__
@@ -181,13 +186,17 @@ def pow2txt(left, right):
return f"{left_}^{right_}"
def render_with_parenthesis(subtree, operator):
subtree_need_parenthesis = False
try:
subtree.node
except AttributeError:
try:
if OPERATORS[subtree.MAINOP]["precedence"] < OPERATORS[operator]["precedence"]:
if (
OPERATORS[subtree.MAINOP]["precedence"]
< OPERATORS[operator]["precedence"]
):
subtree_need_parenthesis = True
except (AttributeError, KeyError):
pass
@@ -201,13 +210,9 @@ def render_with_parenthesis(subtree, operator):
return f"({subtree_})"
return subtree_
OPERATOR2TXT = {
"+": plus2txt,
"-": minus2txt,
"*": mul2txt,
"/": div2txt,
"^": pow2txt,
}
OPERATOR2TXT = {"+": plus2txt, "-": minus2txt, "*": mul2txt, "/": div2txt, "^": pow2txt}
def tree2txt(tree):
""" Convert a tree into its txt version
@@ -224,6 +229,7 @@ def tree2txt(tree):
'2 + 3 * 4'
"""
from ..tree import Tree
if not isinstance(tree, Tree):
raise ValueError(f"Can only render a Tree (got {type(tree).__name__}: {tree})")
return OPERATOR2TXT[tree.node](tree.left_value, tree.right_value)