eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityContext.py

changeset 7622
384e2aa5c073
parent 7614
646742c260bd
child 7637
c878e8255972
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityContext.py	Tue Jun 16 17:44:28 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityContext.py	Tue Jun 16 17:45:12 2020 +0200
@@ -19,6 +19,8 @@
 import copy
 import sys
 
+import AstUtilities
+
 from . import SecurityUtils
 
 
@@ -228,10 +230,10 @@
         @return converted Python object
         @rtype Any
         """
-        if isinstance(literal, ast.Num):
+        if AstUtilities.isNumber(literal):
             literalValue = literal.n
         
-        elif isinstance(literal, ast.Str):
+        elif AstUtilities.isString(literal):
             literalValue = literal.s
         
         elif isinstance(literal, ast.List):
@@ -255,7 +257,10 @@
         elif isinstance(literal, ast.Dict):
             literalValue = dict(zip(literal.keys, literal.values))
         
-        elif isinstance(literal, ast.Ellipsis):
+        elif (
+            sys.version_info <= (3, 8, 0) and
+            isinstance(literal, ast.Ellipsis)
+        ):
             # what do we want to do with this?
             literalValue = None
         
@@ -267,14 +272,14 @@
         # being re-assigned in Python 3.
         elif (
             sys.version_info[0] >= 3 and
-            isinstance(literal, ast.NameConstant)
+            AstUtilities.isNameConstant(literal)
         ):
             literalValue = str(literal.value)
         
         # Bytes are only part of the AST in Python 3
         elif (
             sys.version_info[0] >= 3 and
-            isinstance(literal, ast.Bytes)
+            AstUtilities.isBytes(literal)
         ):
             literalValue = literal.s
         

eric ide

mercurial