l.r.personmerge : module documentation

Part of lp.registry

Person/team merger implementation.
Function merge_people Helper for merge and delete methods.
Function _merge_person_decoration Merge a table that "decorates" Person.
Function _mergeAccessArtifactGrant Undocumented
Function _mergeAccessPolicyGrant Undocumented
Function _mergeGitRuleGrant Undocumented
Function _mergeBranches Undocumented
Function _mergeGitRepositories Undocumented
Function _mergeSourcePackageRecipes Undocumented
Function _mergeLoginTokens Undocumented
Function _mergeMailingListSubscriptions Undocumented
Function _mergeBranchSubscription Undocumented
Function _mergeGitSubscription Undocumented
Function _mergeBugAffectsPerson Undocumented
Function _mergeAnswerContact Undocumented
Function _mergeQuestionSubscription Undocumented
Function _mergeBugNotificationRecipient Undocumented
Function _mergeStructuralSubscriptions Undocumented
Function _mergeSpecificationSubscription Undocumented
Function _mergeSprintAttendance Undocumented
Function _mergePOExportRequest Undocumented
Function _mergeTranslationMessage Undocumented
Function _mergeTranslationImportQueueEntry Undocumented
Function _mergeCodeReviewVote Undocumented
Function _mergeTeamMembership Undocumented
Function _mergeProposedInvitedTeamMembership Undocumented
Function _mergeKarmaCache Undocumented
Function _mergeDateCreated Undocumented
Function _mergeCodeReviewInlineCommentDraft Undocumented
Function _mergeLiveFS Undocumented
Function _mergeSnap Undocumented
Function _purgeUnmergableTeamArtifacts Purge team artifacts that cannot be merged, but can be removed.
def _merge_person_decoration(to_person, from_person, skip, decorator_table, person_pointer_column, additional_person_columns):
Merge a table that "decorates" Person.

Because "person decoration" is becoming more frequent, we create a helper function that can be used for tables that decorate person.

A Person decorator is a table that uniquely references Person, so that the information in the table "extends" the Person table. Because the reference to Person is unique, there can only be one row in the decorator table for any given Person. This function checks if there is an existing decorator for the to_person, and if so, it just leaves any from_person decorator in place as "noise". Otherwise, it updates any from_person decorator to point to the "to_person". There can also be other columns in the decorator which point to Person, these are assumed to be non-unique and will be updated to point to the to_person regardless.

Unknown Field: to_personthe IPerson that is "real"
Unknown Field: from_personthe IPerson that is being merged away
Unknown Field: skipa list of table/column pairs that have been handled
Unknown Field: decorator_tablethe name of the table that decorated Person
Unknown Field: person_pointer_columnthe column on decorator_table that UNIQUE'ly references Person.id
Unknown Field: additional_person_columnsadditional columns in the decorator_table that also reference Person.id but are not UNIQUE
def _mergeAccessArtifactGrant(cur, from_id, to_id):
Undocumented
def _mergeAccessPolicyGrant(cur, from_id, to_id):
Undocumented
def _mergeGitRuleGrant(cur, from_id, to_id):
Undocumented
def _mergeBranches(from_person, to_person):
Undocumented
def _mergeGitRepositories(from_person, to_person):
Undocumented
def _mergeSourcePackageRecipes(from_person, to_person):
Undocumented
def _mergeLoginTokens(cur, from_id, to_id):
Undocumented
def _mergeMailingListSubscriptions(cur, from_id, to_id):
Undocumented
def _mergeBranchSubscription(cur, from_id, to_id):
Undocumented
def _mergeGitSubscription(cur, from_id, to_id):
Undocumented
def _mergeBugAffectsPerson(cur, from_id, to_id):
Undocumented
def _mergeAnswerContact(cur, from_id, to_id):
Undocumented
def _mergeQuestionSubscription(cur, from_id, to_id):
Undocumented
def _mergeBugNotificationRecipient(cur, from_id, to_id):
Undocumented
def _mergeStructuralSubscriptions(cur, from_id, to_id):
Undocumented
def _mergeSpecificationSubscription(cur, from_id, to_id):
Undocumented
def _mergeSprintAttendance(cur, from_id, to_id):
Undocumented
def _mergePOExportRequest(cur, from_id, to_id):
Undocumented
def _mergeTranslationMessage(cur, from_id, to_id):
Undocumented
def _mergeTranslationImportQueueEntry(cur, from_id, to_id):
Undocumented
def _mergeCodeReviewVote(cur, from_id, to_id):
Undocumented
def _mergeTeamMembership(cur, from_id, to_id):
Undocumented
def _mergeProposedInvitedTeamMembership(cur, from_id, to_id):
Undocumented
def _mergeKarmaCache(cur, from_id, to_id, from_karma):
Undocumented
def _mergeDateCreated(cur, from_id, to_id):
Undocumented
def _mergeCodeReviewInlineCommentDraft(cur, from_id, to_id):
Undocumented
def _mergeLiveFS(cur, from_person, to_person):
Undocumented
def _mergeSnap(cur, from_person, to_person):
Undocumented
def _purgeUnmergableTeamArtifacts(from_team, to_team, reviewer):
Purge team artifacts that cannot be merged, but can be removed.
def merge_people(from_person, to_person, reviewer, delete=False):
Helper for merge and delete methods.
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.