(event)
Invoke all handlers for the provided event type/sub-type.

    The handlers are invoked in the following order:

    1. Global handlers
    2. Event type handlers
    3. Event sub-type handlers

    Handlers within each group are invoked in order of registration.

    :param event: The event model object.
    :type event: ``djstripe.models.Event``
Invoke all handlers for the provided event type/sub-type.
Invoke all handlers for the provided event type / sub - type .
def call_handlers(event):
    """
    Invoke all handlers for the provided event type/sub-type.

    The handlers are invoked in the following order:

    1. Global handlers
    2. Event type handlers
    3. Event sub-type handlers

    Handlers within each group are invoked in order of registration.

    :param event: The event model object.
    :type event: ``djstripe.models.Event``
    """
    chain = [registrations_global]

    # Build up a list of handlers with each qualified part of the event
    # category and verb.  For example, "customer.subscription.created" creates:
    #   1. "customer"
    #   2. "customer.subscription"
    #   3. "customer.subscription.created"
    for index, _ in enumerate(event.parts):
        qualified_event_type = ".".join(event.parts[: (index + 1)])
        chain.append(registrations[qualified_event_type])

    for handler_func in itertools.chain(*chain):
        handler_func(event=event)
def call_handlers ( event ) : chain = [ registrations_global ] # Build up a list of handlers with each qualified part of the event # category and verb.  For example, "customer.subscription.created" creates: #   1. "customer" #   2. "customer.subscription" #   3. "customer.subscription.created" for index , _ in enumerate ( event . parts ) : qualified_event_type = "." . join ( event . parts [ : ( index + 1 ) ] ) chain . append ( registrations [ qualified_event_type ] ) for handler_func in itertools . chain ( * chain ) : handler_func ( event = event )