Skip to content

Commit 7cd92dd

Browse files
authored
Merge pull request #2899 from dherrada/extract-types
Added extract_types.py script
2 parents 820d509 + 4e22b9a commit 7cd92dd

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

tools/extract_pyi.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,22 @@ def convert_folder(top_level, stub_directory):
5252
# Validate that the module is a parseable stub.
5353
total += 1
5454
try:
55-
astroid.parse(stub_contents)
55+
tree = astroid.parse(stub_contents)
56+
for i in tree.body:
57+
if 'name' in i.__dict__:
58+
print(i.__dict__['name'])
59+
for j in i.body:
60+
if isinstance(j, astroid.scoped_nodes.FunctionDef):
61+
if None in j.args.__dict__['annotations']:
62+
print(f"Missing parameter type: {j.__dict__['name']} on line {j.__dict__['lineno']}\n")
63+
if j.returns:
64+
if 'Any' in j.returns.__dict__.values():
65+
print(f"Missing return type: {j.__dict__['name']} on line {j.__dict__['lineno']}")
66+
elif isinstance(j, astroid.node_classes.AnnAssign):
67+
if 'name' in j.__dict__['annotation'].__dict__:
68+
if j.__dict__['annotation'].__dict__['name'] == 'Any':
69+
print(f"missing attribute type on line {j.__dict__['lineno']}")
70+
5671
ok += 1
5772
except astroid.exceptions.AstroidSyntaxError as e:
5873
e = e.__cause__

0 commit comments

Comments
 (0)