@@ -47,18 +47,6 @@ def get_imports(self, *, prefix: str) -> Set[str]:
47
47
return imports
48
48
49
49
50
- def _merge_properties (first : Property , second : Property ) -> Union [Property , PropertyError ]:
51
- if first .__class__ != second .__class__ :
52
- return PropertyError (header = "Cannot merge properties" , detail = "Properties are two different types" )
53
- nullable = first .nullable and second .nullable
54
- required = first .required or second .required
55
- first = attr .evolve (first , nullable = nullable , required = required )
56
- second = attr .evolve (second , nullable = nullable , required = required )
57
- if first != second :
58
- return PropertyError (header = "Cannot merge properties" , detail = "Properties has conflicting values" )
59
- return first
60
-
61
-
62
50
class _PropertyData (NamedTuple ):
63
51
optional_props : List [Property ]
64
52
required_props : List [Property ]
@@ -73,25 +61,12 @@ def _process_properties(*, data: oai.Schema, schemas: Schemas, class_name: str)
73
61
relative_imports : Set [str ] = set ()
74
62
required_set = set (data .required or [])
75
63
76
- def _check_existing (prop : Property ) -> Union [Property , PropertyError ]:
77
- nonlocal properties
78
-
79
- existing = properties .get (prop .name )
80
- prop_or_error = _merge_properties (existing , prop ) if existing else prop
81
- if isinstance (prop_or_error , PropertyError ):
82
- prop_or_error .header = f"Found conflicting properties named { prop .name } when creating { class_name } "
83
- return prop_or_error
84
- properties [prop_or_error .name ] = prop_or_error
85
- return prop_or_error
86
-
87
64
unprocessed_props = data .properties or {}
88
65
for key , value in unprocessed_props .items ():
89
66
prop_required = key in required_set
90
67
prop_or_error , schemas = property_from_data (
91
68
name = key , required = prop_required , data = value , schemas = schemas , parent_name = class_name
92
69
)
93
- if isinstance (prop_or_error , Property ):
94
- prop_or_error = _check_existing (prop_or_error )
95
70
if isinstance (prop_or_error , PropertyError ):
96
71
return prop_or_error
97
72
0 commit comments