MCPcopy Index your code
hub / github.com/MongoEngine/mongoengine / get_classes

Method get_classes

mongoengine/document.py:964–987  ·  view source on GitHub ↗
(cls)

Source from the content-addressed store, hash-verified

962 classes = []
963
964 def get_classes(cls):
965 if cls not in classes and isinstance(cls, TopLevelDocumentMetaclass):
966 classes.append(cls)
967
968 for base_cls in cls.__bases__:
969 if (
970 isinstance(base_cls, TopLevelDocumentMetaclass)
971 and base_cls != Document
972 and not base_cls._meta.get("abstract")
973 and base_cls._get_collection().full_name
974 == cls._get_collection().full_name
975 and base_cls not in classes
976 ):
977 classes.append(base_cls)
978 get_classes(base_cls)
979 for subclass in cls.__subclasses__():
980 if (
981 isinstance(base_cls, TopLevelDocumentMetaclass)
982 and subclass._get_collection().full_name
983 == cls._get_collection().full_name
984 and subclass not in classes
985 ):
986 classes.append(subclass)
987 get_classes(subclass)
988
989 get_classes(cls)
990

Callers

nothing calls this directly

Calls 2

_get_collectionMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected