mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
_translate_event is not launched by default so events are faster
This commit is contained in:
parent
b894496f9a
commit
c2eb4599e8
8 changed files with 18 additions and 58 deletions
|
|
@ -13,7 +13,7 @@ class DelAvalonIdFromNew(BaseEvent):
|
|||
'''
|
||||
priority = Sync_to_Avalon.priority - 1
|
||||
|
||||
def launch(self, event):
|
||||
def launch(self, session, event):
|
||||
created = []
|
||||
entities = event['data']['entities']
|
||||
for entity in entities:
|
||||
|
|
@ -31,7 +31,7 @@ class DelAvalonIdFromNew(BaseEvent):
|
|||
get_ca_mongoid() in entity['keys'] and
|
||||
entity_id in created
|
||||
):
|
||||
ftrack_entity = self.session.get(
|
||||
ftrack_entity = session.get(
|
||||
self._get_entity_type(entity),
|
||||
entity_id
|
||||
)
|
||||
|
|
@ -44,22 +44,13 @@ class DelAvalonIdFromNew(BaseEvent):
|
|||
ftrack_entity['custom_attributes'][
|
||||
get_ca_mongoid()
|
||||
] = ''
|
||||
self.session.commit()
|
||||
session.commit()
|
||||
|
||||
except Exception:
|
||||
self.session.rollback()
|
||||
session.rollback()
|
||||
continue
|
||||
|
||||
|
||||
def register(self):
|
||||
'''Registers the event, subscribing the discover and launch topics.'''
|
||||
self.session.event_hub.subscribe(
|
||||
'topic=ftrack.update',
|
||||
self.launch,
|
||||
priority=self.priority
|
||||
)
|
||||
|
||||
|
||||
def register(session, **kw):
|
||||
'''Register plugin. Called when used as an plugin.'''
|
||||
if not isinstance(session, ftrack_api.session.Session):
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class NextTaskUpdate(BaseEvent):
|
|||
|
||||
return None
|
||||
|
||||
def launch(self, session, entities, event):
|
||||
def launch(self, session, event):
|
||||
'''Propagates status from version to task when changed'''
|
||||
|
||||
# self.log.info(event)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ ignore_me = True
|
|||
|
||||
class Radio_buttons(BaseEvent):
|
||||
|
||||
def launch(self, session, entities, event):
|
||||
def launch(self, session, event):
|
||||
'''Provides a readio button behaviour to any bolean attribute in
|
||||
radio_button group.'''
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,12 @@ from pype.ftrack import BaseEvent, lib
|
|||
|
||||
class Sync_to_Avalon(BaseEvent):
|
||||
|
||||
def launch(self, session, entities, event):
|
||||
ignore_entityType = [
|
||||
'assetversion', 'job', 'user', 'reviewsessionobject', 'timer',
|
||||
'socialfeed', 'socialnotification', 'timelog'
|
||||
]
|
||||
|
||||
def launch(self, session, event):
|
||||
ca_mongoid = lib.get_ca_mongoid()
|
||||
# If mongo_id textfield has changed: RETURN!
|
||||
# - infinite loop
|
||||
|
|
@ -13,6 +18,7 @@ class Sync_to_Avalon(BaseEvent):
|
|||
if ca_mongoid in ent['keys']:
|
||||
return
|
||||
|
||||
entities = self._get_entities(session, event, self.ignore_entityType)
|
||||
ft_project = None
|
||||
# get project
|
||||
for entity in entities:
|
||||
|
|
@ -109,40 +115,6 @@ class Sync_to_Avalon(BaseEvent):
|
|||
|
||||
return
|
||||
|
||||
def _launch(self, event):
|
||||
self.session.reset()
|
||||
|
||||
args = self._translate_event(
|
||||
self.session, event
|
||||
)
|
||||
|
||||
self.launch(
|
||||
self.session, *args
|
||||
)
|
||||
return
|
||||
|
||||
def _translate_event(self, session, event):
|
||||
exceptions = [
|
||||
'assetversion', 'job', 'user', 'reviewsessionobject', 'timer',
|
||||
'socialfeed', 'timelog'
|
||||
]
|
||||
_selection = event['data'].get('entities', [])
|
||||
|
||||
_entities = list()
|
||||
for entity in _selection:
|
||||
if entity['entityType'] in exceptions:
|
||||
continue
|
||||
_entities.append(
|
||||
(
|
||||
session.get(
|
||||
self._get_entity_type(entity),
|
||||
entity.get('entityId')
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
return [_entities, event]
|
||||
|
||||
|
||||
def register(session, **kw):
|
||||
'''Register plugin. Called when used as an plugin.'''
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class Test_Event(BaseEvent):
|
|||
|
||||
priority = 10000
|
||||
|
||||
def launch(self, session, entities, event):
|
||||
def launch(self, session, event):
|
||||
|
||||
'''just a testing event'''
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from pype.ftrack import BaseEvent
|
|||
|
||||
class ThumbnailEvents(BaseEvent):
|
||||
|
||||
def launch(self, session, entities, event):
|
||||
def launch(self, session, event):
|
||||
'''just a testing event'''
|
||||
|
||||
# self.log.info(event)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from pype.ftrack import BaseEvent
|
|||
|
||||
class VersionToTaskStatus(BaseEvent):
|
||||
|
||||
def launch(self, session, entities, event):
|
||||
def launch(self, session, event):
|
||||
'''Propagates status from version to task when changed'''
|
||||
session.commit()
|
||||
|
||||
|
|
|
|||
|
|
@ -40,14 +40,11 @@ class BaseEvent(BaseHandler):
|
|||
)
|
||||
|
||||
def _launch(self, event):
|
||||
self.session._local_cache.clear()
|
||||
self.session.rollback()
|
||||
args = self._translate_event(
|
||||
self.session, event
|
||||
)
|
||||
self.session._local_cache.clear()
|
||||
|
||||
self.launch(
|
||||
self.session, *args
|
||||
self.session, event
|
||||
)
|
||||
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue