MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / _resolve_for_abstract_or_classical

Function _resolve_for_abstract_or_classical

lib/sqlalchemy/orm/decl_base.py:157–176  ·  view source on GitHub ↗
(cls: Type[Any])

Source from the content-addressed store, hash-verified

155
156
157def _resolve_for_abstract_or_classical(cls: Type[Any]) -> Optional[Type[Any]]:
158 if cls is object:
159 return None
160
161 sup: Optional[Type[Any]]
162
163 if cls.__dict__.get("__abstract__", False):
164 for base_ in cls.__bases__:
165 sup = _resolve_for_abstract_or_classical(base_)
166 if sup is not None:
167 return sup
168 else:
169 return None
170 else:
171 clsmanager = _dive_for_cls_manager(cls)
172
173 if clsmanager:
174 return clsmanager.class_
175 else:
176 return cls
177
178
179def _get_immediate_cls_attr(

Callers 2

_setup_inheritanceMethod · 0.85

Calls 2

_dive_for_cls_managerFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected