diff options
| author | Lucian Copeland <hierophect@gmail.com> | 2020-05-28 12:24:37 -0400 |
|---|---|---|
| committer | Lucian Copeland <hierophect@gmail.com> | 2020-05-28 12:24:37 -0400 |
| commit | 9ee278d2ac8e23aac2c5235ddff4dae6349f7468 (patch) | |
| tree | 9fef04609d114a3a76d2b37c44188f4deb0bffb7 /tools | |
| parent | fd00bb8b7faa630f6450feb27ad079f159a7b322 (diff) | |
| parent | f72d166e515a129bb6aa7839eff6392d12742867 (diff) | |
Merge remote-tracking branch 'upstream/master' into mimxrt-busio-cleanup
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/extract_pyi.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/extract_pyi.py b/tools/extract_pyi.py index e590e25f1..d749d202b 100644 --- a/tools/extract_pyi.py +++ b/tools/extract_pyi.py @@ -52,7 +52,22 @@ def convert_folder(top_level, stub_directory): # Validate that the module is a parseable stub. total += 1 try: - astroid.parse(stub_contents) + tree = astroid.parse(stub_contents) + for i in tree.body: + if 'name' in i.__dict__: + print(i.__dict__['name']) + for j in i.body: + if isinstance(j, astroid.scoped_nodes.FunctionDef): + if None in j.args.__dict__['annotations']: + print(f"Missing parameter type: {j.__dict__['name']} on line {j.__dict__['lineno']}\n") + if j.returns: + if 'Any' in j.returns.__dict__.values(): + print(f"Missing return type: {j.__dict__['name']} on line {j.__dict__['lineno']}") + elif isinstance(j, astroid.node_classes.AnnAssign): + if 'name' in j.__dict__['annotation'].__dict__: + if j.__dict__['annotation'].__dict__['name'] == 'Any': + print(f"missing attribute type on line {j.__dict__['lineno']}") + ok += 1 except astroid.exceptions.AstroidSyntaxError as e: e = e.__cause__ |
