l.b.m.b.BugNotificationRecipients(NotificationRecipientSet) : class documentation

Part of lp.bugs.mail.bugnotificationrecipients View In Hierarchy

A set of emails and rationales notified for a bug change.

Each email address registered in a BugNotificationRecipients is associated to a string and a header that explain why the address is being emailed. For instance, if the email address is that of a distribution bug supervisor for a bug, the string and header will make that fact clear.

The string is meant to be rendered in the email footer. The header is meant to be used in an X-Launchpad-Message-Rationale header.

The first rationale registered for an email address is the one which will be used, regardless of other rationales being added for it later. This gives us a predictable policy of preserving the first reason added to the registry; the callsite should ensure that the manipulation of the BugNotificationRecipients instance is done in preferential order.

Instances of this class are meant to be returned by IBug.getBugNotificationRecipients().

Method __init__ Constructs a new BugNotificationRecipients instance.
Method addDupeSubscriber Registers a subscriber of a duplicate of this bug.
Method addDirectSubscriber Registers a direct subscriber of this bug.
Method addAssignee Registers an assignee of a bugtask of this bug.
Method addStructuralSubscriber Registers a structural subscriber to this bug's target.
Method update See INotificationRecipientSet.
Method addFilter Undocumented
Method _addReason Adds a reason (text and header) for a person.

Inherited from NotificationRecipientSet:

Method getEmails See INotificationRecipientSet.
Method getRecipients See INotificationRecipientSet.
Method getRecipientPersons See INotificationRecipientSet.
Method __iter__ See INotificationRecipientSet.
Method __contains__ See INotificationRecipientSet.
Method __nonzero__ See INotificationRecipientSet.
Method getReason See INotificationRecipientSet.
Method add See INotificationRecipientSet.
Method remove See INotificationRecipientSet.
def __init__(self, duplicateof=None):
Constructs a new BugNotificationRecipients instance.

If this bug is a duplicate, duplicateof should be used to
specify which bug ID it is a duplicate of.

Note that there are two duplicate situations that are
important:
  - One is when this bug is a duplicate of another bug:
    the subscribers to the main bug get notified of our
    changes.
  - Another is when the bug we are changing has
    duplicates; in that case, direct subscribers of
    duplicate bugs get notified of our changes.
These two situations are catered respectively by the
duplicateof parameter above and the addDupeSubscriber method.
Don't confuse them!
def _addReason(self, person, reason, header):
Adds a reason (text and header) for a person.

It takes care of modifying the message when the person is notified via a duplicate.

def addDupeSubscriber(self, person, duplicate_bug=None):
Registers a subscriber of a duplicate of this bug.
def addDirectSubscriber(self, person):
Registers a direct subscriber of this bug.
def addAssignee(self, person):
Registers an assignee of a bugtask of this bug.
def addStructuralSubscriber(self, person, target):
Registers a structural subscriber to this bug's target.
def update(self, recipient_set):
See INotificationRecipientSet.
def addFilter(self, subscription_filter):
Undocumented
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.