Skip to content
This repository was archived by the owner on Aug 25, 2024. It is now read-only.

Commit a7deb79

Browse files
committed
scripts: docs: Fix error on lack of qualname
Signed-off-by: John Andersen <[email protected]>
1 parent 0f2e978 commit a7deb79

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

scripts/docs.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import importlib
88
import pkg_resources
99
import configparser
10-
from typing import List
10+
from typing import List, Type
1111

1212

1313
def traverse_get_config(target, *args):
@@ -41,18 +41,28 @@ def traverse_get_config(target, *args):
4141
def data_type_string(data_type, nargs=None):
4242
if nargs is not None:
4343
return "List of %ss" % (data_type_string(data_type).lower(),)
44-
if data_type is str:
44+
if hasattr(data_type, "__func__"):
45+
return data_type_string(data_type.__func__)
46+
elif data_type is str:
4547
return "String"
4648
elif data_type is int:
4749
return "Integer"
4850
elif data_type is bool:
4951
return "Boolean"
50-
return data_type.__qualname__
52+
elif data_type is Type:
53+
return "Type"
54+
elif hasattr(data_type, "__qualname__"):
55+
name = data_type.__qualname__
56+
if name[::-1].startswith(".load"[::-1]):
57+
return name[: -len(".load")]
58+
return name
59+
else:
60+
return str(data_type)
5161

5262

5363
def sanitize_default(default):
5464
if not isinstance(default, str):
55-
return str(default)
65+
return sanitize_default(str(default))
5666
return default.replace(getpass.getuser(), "user")
5767

5868

0 commit comments

Comments
 (0)