cache object types

This commit is contained in:
iLLiCiTiT 2021-12-14 11:48:23 +01:00
parent 3b9db7d43f
commit 0ff12fdaee

View file

@ -360,6 +360,8 @@ class SyncEntitiesFactory:
self._subsets_by_parent_id = None
self._changeability_by_mongo_id = None
self._object_types_by_name = None
self.all_filtered_entities = {}
self.filtered_ids = []
self.not_selected_ids = []
@ -651,6 +653,18 @@ class SyncEntitiesFactory:
self._bubble_changeability(list(self.subsets_by_parent_id.keys()))
return self._changeability_by_mongo_id
@property
def object_types_by_name(self):
if self._object_types_by_name is None:
object_types_by_name = self.session.query(
"select id, name from ObjectType"
).all()
self._object_types_by_name = {
object_type["name"]: object_type
for object_type in object_types_by_name
}
return self._object_types_by_name
@property
def all_ftrack_names(self):
"""
@ -880,10 +894,7 @@ class SyncEntitiesFactory:
custom_attrs, hier_attrs = get_openpype_attr(
self.session, query_keys=self.cust_attr_query_keys
)
ent_types = self.session.query("select id, name from ObjectType").all()
ent_types_by_name = {
ent_type["name"]: ent_type["id"] for ent_type in ent_types
}
ent_types_by_name = self.object_types_by_name
# Custom attribute types
cust_attr_types = self.session.query(
"select id, name from CustomAttributeType"