Skip to content

Commit 93bc53c

Browse files
committed
Handle constants deprecated in Python 3.8
Signed-off-by: Nikola Forró <[email protected]>
1 parent 4ab4336 commit 93bc53c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

specfile/formatter.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import ast
55
import functools
6+
import sys
67
from typing import Callable
78

89
from specfile.exceptions import SpecfileException
@@ -29,12 +30,14 @@ def format_expression(expression: str, line_length_threshold: int = 80) -> str:
2930

3031
def fmt(node, indent=0, prefix="", multiline=False):
3132
result = " " * indent + prefix
32-
if isinstance(node, (ast.Constant, ast.NameConstant)):
33+
if sys.version_info < (3, 8) and isinstance(node, ast.NameConstant):
3334
result += repr(node.value)
34-
elif isinstance(node, ast.Str):
35+
elif sys.version_info < (3, 8) and isinstance(node, ast.Str):
3536
result += repr(node.s)
36-
elif isinstance(node, ast.Num):
37+
elif sys.version_info < (3, 8) and isinstance(node, ast.Num):
3738
result += repr(node.n)
39+
elif isinstance(node, ast.Constant):
40+
result += repr(node.value)
3841
elif isinstance(node, (ast.Tuple, ast.List, ast.Dict, ast.Call)):
3942
if isinstance(node, ast.Tuple):
4043
start, end = "(", ")" if multiline or len(node.elts) != 1 else ",)"

0 commit comments

Comments
 (0)