From dffa28f26871bd5b097c2fce4ee0b1c018b03e18 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Tue, 15 Dec 2020 19:36:05 +0100 Subject: [PATCH] extracted filtering part to method --- .../ftrack/events/event_thumbnail_updates.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pype/modules/ftrack/events/event_thumbnail_updates.py b/pype/modules/ftrack/events/event_thumbnail_updates.py index 1304dc8b5e..63b811fb38 100644 --- a/pype/modules/ftrack/events/event_thumbnail_updates.py +++ b/pype/modules/ftrack/events/event_thumbnail_updates.py @@ -47,6 +47,27 @@ class ThumbnailEvents(BaseEvent): except Exception: session.rollback() + def filter_entities(self, event): + filtered_entities_info = {} + for entity_info in event["data"].get("entities", []): + action = entity_info.get("action") + if not action: + continue + + if ( + action == "remove" + or entity_info["entityType"].lower() != "assetversion" + or "thumbid" not in (entity_info.get("keys") or []) + ): + continue + + # Get project id from entity info + project_id = entity_info["parents"][-1]["entityId"] + if project_id not in filtered_entities_info: + filtered_entities_info[project_id] = [] + filtered_entities_info[project_id].append(entity_info) + return filtered_entities_info + def register(session, plugins_presets): ThumbnailEvents(session, plugins_presets).register()