diff options
author | lucaszhao19 | 2020-02-05 18:02:20 +0530 |
---|---|---|
committer | lucaszhao19 | 2020-02-05 18:02:20 +0530 |
commit | ae7090629a8beae3064eee7128856d5d3aeaa604 (patch) | |
tree | 939eedc5d96fd17bc5af34bde6524d3e4b3a7cfa /venv/Lib/site-packages/astroid/brain/brain_argparse.py | |
parent | 38dbff48f57c403abdc575a9cd9d0bbf512bfef6 (diff) | |
parent | 190966e010e321e4df56d40104ec80467a870e53 (diff) | |
download | Chemical-Simulator-GUI-ae7090629a8beae3064eee7128856d5d3aeaa604.tar.gz Chemical-Simulator-GUI-ae7090629a8beae3064eee7128856d5d3aeaa604.tar.bz2 Chemical-Simulator-GUI-ae7090629a8beae3064eee7128856d5d3aeaa604.zip |
Revamped and merged Input/Results DockWidgets, Newly implemented variables for MaterialStream and four UnitOps
Diffstat (limited to 'venv/Lib/site-packages/astroid/brain/brain_argparse.py')
-rw-r--r-- | venv/Lib/site-packages/astroid/brain/brain_argparse.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/venv/Lib/site-packages/astroid/brain/brain_argparse.py b/venv/Lib/site-packages/astroid/brain/brain_argparse.py new file mode 100644 index 0000000..d489911 --- /dev/null +++ b/venv/Lib/site-packages/astroid/brain/brain_argparse.py @@ -0,0 +1,33 @@ +from astroid import MANAGER, arguments, nodes, inference_tip, UseInferenceDefault + + +def infer_namespace(node, context=None): + callsite = arguments.CallSite.from_call(node) + if not callsite.keyword_arguments: + # Cannot make sense of it. + raise UseInferenceDefault() + + class_node = nodes.ClassDef("Namespace", "docstring") + class_node.parent = node.parent + for attr in set(callsite.keyword_arguments): + fake_node = nodes.EmptyNode() + fake_node.parent = class_node + fake_node.attrname = attr + class_node.instance_attrs[attr] = [fake_node] + return iter((class_node.instantiate_class(),)) + + +def _looks_like_namespace(node): + func = node.func + if isinstance(func, nodes.Attribute): + return ( + func.attrname == "Namespace" + and isinstance(func.expr, nodes.Name) + and func.expr.name == "argparse" + ) + return False + + +MANAGER.register_transform( + nodes.Call, inference_tip(infer_namespace), _looks_like_namespace +) |