# :coding: utf-8
# :copyright: Copyright (c) 2014 ftrack
from builtins import object
import ftrack_api.event.subscription
[docs]class Subscriber(object):
'''Represent event subscriber.'''
[docs] def __init__(self, subscription, callback, metadata, priority):
'''Initialise subscriber.'''
self.subscription = ftrack_api.event.subscription.Subscription(
subscription
)
self.callback = callback
self.metadata = metadata
self.priority = priority
def __str__(self):
'''Return string representation.'''
return '<{0} metadata={1} subscription="{2}">'.format(
self.__class__.__name__, self.metadata, self.subscription
)
[docs] def interested_in(self, event):
'''Return whether subscriber interested in *event*.'''
return self.subscription.includes(event)