Listeners

shopkit.core.listeners

class shopkit.core.listeners.EmailingListener(**kwargs)

Bases: shopkit.core.utils.listeners.Listener

Listener which sends out emails.

create_message(context)

Create an email message.

get_body_template_names()

Returns a list of template names to be used for the request. Must return a list. May not be called if render_to_response is overridden.

get_context_data()

Context for the message template rendered. Defaults to sender, the current site object and kwargs.

get_recipients()

Get recipients for the message.

get_sender()

Sender of the message, defaults to None which imples DEFAULT_FROM_EMAIL.

get_subject_template_names()

Returns a list of template names to be used for the request. Must return a list. May not be called if render_to_response is overridden.

handler(sender, **kwargs)

Store sender and kwargs attributes on self.

class shopkit.core.listeners.StateChangeListener(**kwargs)

Bases: shopkit.core.utils.listeners.Listener

Listener base class for order status changes.

Example:

OrderPaidListener(StatusChangeListener):
    state = order_states.ORDER_STATE_PAID

    def handler(self, sender, **kwargs):
        # <do something>
dispatch(sender, **kwargs)

The dispatch method is equivlant to the similarly named method in Django’s class based views: it checks whether or not this signal should be handled at all (whether or not it matches the specified) state change) and then calls the handle() method.

handler(sender, **kwargs)

The handler performs some actual action upon handling a signal. This must be overridden in subclasses defining actual listeners.

class shopkit.core.listeners.StateChangeLogger(**kwargs)

Bases: shopkit.core.listeners.StateChangeListener

Debugging listener for order_state_change, logging each and every state change.

handler(sender, **kwargs)

Handle the signal by writing out a debug log message.

class shopkit.core.listeners.TranslatedEmailingListener(**kwargs)

Bases: shopkit.core.listeners.EmailingListener

Email sending listener which switched locale before processing.

get_language(sender, **kwargs)

Return the language we should switch to.

handler(sender, **kwargs)

Handle the signal, wrapping the emailing handler from the base class but changing locale on beforehand, switching back to the original afterwards.