3
3
4
4
import ast
5
5
import functools
6
+ import sys
6
7
from typing import Callable
7
8
8
9
from specfile .exceptions import SpecfileException
@@ -29,12 +30,14 @@ def format_expression(expression: str, line_length_threshold: int = 80) -> str:
29
30
30
31
def fmt (node , indent = 0 , prefix = "" , multiline = False ):
31
32
result = " " * indent + prefix
32
- if isinstance ( node , ( ast . Constant , ast .NameConstant ) ):
33
+ if sys . version_info < ( 3 , 8 ) and isinstance ( node , ast .NameConstant ):
33
34
result += repr (node .value )
34
- elif isinstance (node , ast .Str ):
35
+ elif sys . version_info < ( 3 , 8 ) and isinstance (node , ast .Str ):
35
36
result += repr (node .s )
36
- elif isinstance (node , ast .Num ):
37
+ elif sys . version_info < ( 3 , 8 ) and isinstance (node , ast .Num ):
37
38
result += repr (node .n )
39
+ elif isinstance (node , ast .Constant ):
40
+ result += repr (node .value )
38
41
elif isinstance (node , (ast .Tuple , ast .List , ast .Dict , ast .Call )):
39
42
if isinstance (node , ast .Tuple ):
40
43
start , end = "(" , ")" if multiline or len (node .elts ) != 1 else ",)"
0 commit comments