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

changeset 7637
c878e8255972
parent 7622
384e2aa5c073
child 7862
817ef8e0fa66
child 7924
8a96736d465e
equal deleted inserted replaced
7636:61566f35ab22 7637:c878e8255972
178 @return sequence of printable ascii bytes representing original string 178 @return sequence of printable ascii bytes representing original string
179 @rtype str 179 @rtype str
180 """ 180 """
181 val = self.stringVal 181 val = self.stringVal
182 if val is not None: 182 if val is not None:
183 # it's any of str or unicode in py2, or str in py3
184 return val.encode('unicode_escape') 183 return val.encode('unicode_escape')
185 184
186 val = self.bytesVal 185 val = self.bytesVal
187 if val is not None: 186 if val is not None:
188 return SecurityUtils.escapedBytesRepresentation(val) 187 return SecurityUtils.escapedBytesRepresentation(val)
265 literalValue = None 264 literalValue = None
266 265
267 elif isinstance(literal, ast.Name): 266 elif isinstance(literal, ast.Name):
268 literalValue = literal.id 267 literalValue = literal.id
269 268
270 # NameConstants are only part of the AST in Python 3. NameConstants 269 elif AstUtilities.isNameConstant(literal):
271 # tend to refer to things like True and False. This prevents them from
272 # being re-assigned in Python 3.
273 elif (
274 sys.version_info[0] >= 3 and
275 AstUtilities.isNameConstant(literal)
276 ):
277 literalValue = str(literal.value) 270 literalValue = str(literal.value)
278 271
279 # Bytes are only part of the AST in Python 3 272 elif AstUtilities.isBytes(literal):
280 elif (
281 sys.version_info[0] >= 3 and
282 AstUtilities.isBytes(literal)
283 ):
284 literalValue = literal.s 273 literalValue = literal.s
285 274
286 else: 275 else:
287 literalValue = None 276 literalValue = None
288 277

eric ide

mercurial