6
6
7
7
from . import Components , OpenAPI , Reference , Schema
8
8
9
+ logger = logging .getLogger (__name__ )
10
+
9
11
PydanticType = TypeVar ("PydanticType" , bound = BaseModel )
10
12
ref_prefix = "#/components/schemas/"
11
13
@@ -46,7 +48,7 @@ def construct_open_api_with_schema_class(
46
48
return open_api
47
49
48
50
schema_classes .sort (key = lambda x : x .__name__ )
49
- logging .debug (f"schema_classes{ schema_classes } " )
51
+ logger .debug (f"schema_classes{ schema_classes } " )
50
52
51
53
# update new_open_api with new #/components/schemas
52
54
schema_definitions = schema (schema_classes , by_alias = by_alias , ref_prefix = ref_prefix )
@@ -55,7 +57,7 @@ def construct_open_api_with_schema_class(
55
57
if new_open_api .components .schemas :
56
58
for existing_key in new_open_api .components .schemas :
57
59
if existing_key in schema_definitions .get ("definitions" ):
58
- logging .warning (
60
+ logger .warning (
59
61
f'"{ existing_key } " already exists in { ref_prefix } . '
60
62
f'The value of "{ ref_prefix } { existing_key } " will be overwritten.'
61
63
)
@@ -90,23 +92,23 @@ def _traverse(obj: Any):
90
92
for field in fields :
91
93
child_obj = obj .__getattribute__ (field )
92
94
if isinstance (child_obj , PydanticSchema ):
93
- logging .debug (f"PydanticSchema found in { obj .__repr_name__ ()} : { child_obj } " )
95
+ logger .debug (f"PydanticSchema found in { obj .__repr_name__ ()} : { child_obj } " )
94
96
obj .__setattr__ (field , _construct_ref_obj (child_obj ))
95
97
pydantic_types .add (child_obj .schema_class )
96
98
else :
97
99
_traverse (child_obj )
98
100
elif isinstance (obj , list ):
99
101
for index , elem in enumerate (obj ):
100
102
if isinstance (elem , PydanticSchema ):
101
- logging .debug (f"PydanticSchema found in list: { elem } " )
103
+ logger .debug (f"PydanticSchema found in list: { elem } " )
102
104
obj [index ] = _construct_ref_obj (elem )
103
105
pydantic_types .add (elem .schema_class )
104
106
else :
105
107
_traverse (elem )
106
108
elif isinstance (obj , dict ):
107
109
for key , value in obj .items ():
108
110
if isinstance (value , PydanticSchema ):
109
- logging .debug (f"PydanticSchema found in dict: { value } " )
111
+ logger .debug (f"PydanticSchema found in dict: { value } " )
110
112
obj [key ] = _construct_ref_obj (value )
111
113
pydantic_types .add (value .schema_class )
112
114
else :
@@ -118,5 +120,5 @@ def _traverse(obj: Any):
118
120
119
121
def _construct_ref_obj (pydantic_schema : PydanticSchema ):
120
122
ref_obj = Reference (ref = ref_prefix + pydantic_schema .schema_class .__name__ )
121
- logging .debug (f"ref_obj={ ref_obj } " )
123
+ logger .debug (f"ref_obj={ ref_obj } " )
122
124
return ref_obj
0 commit comments