bpo-39158: ast.literal_eval() doesn't support empty sets (GH-17742)

This commit is contained in:
Raymond Hettinger 2020-01-02 22:21:18 -07:00 committed by GitHub
parent 32f1443aa9
commit 4fcf5c12a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 0 deletions

View file

@ -83,6 +83,9 @@ def literal_eval(node_or_string):
return list(map(_convert, node.elts))
elif isinstance(node, Set):
return set(map(_convert, node.elts))
elif (isinstance(node, Call) and isinstance(node.func, Name) and
node.func.id == 'set' and node.args == node.keywords == []):
return set()
elif isinstance(node, Dict):
return dict(zip(map(_convert, node.keys),
map(_convert, node.values)))