# :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)