You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Module path:cppa_user_tracker.servicesDescription: Identity, profiles (GitHubAccount, SlackUser, MailingListProfile, DiscordProfile, etc.), emails, and staging (TmpIdentity, TempProfileIdentityRelation). Single place for all writes to cppa_user_tracker models.
Type notation: Model types refer to cppa_user_tracker.models (e.g. Identity, BaseProfile, Email).
Get or create a MailingListProfile by display_name and email. Looks up a profile with this display_name and an Email with this address; if found, returns it. Otherwise creates a new profile, adds the email via add_email, and returns the new profile. Raises ValueError if display_name or email is missing or empty.
WG21PaperAuthorProfile
Function
Parameter types
Return type
Description
get_or_create_wg21_paper_author_profile
display_name: str, email: str | None = None
tuple[WG21PaperAuthorProfile, bool]
Resolve by display_name (optional email for disambiguation). If no profile exists, creates one and adds email if provided. If one exists, returns it. If multiple exist and one matches the email, returns that profile. If multiple exist and no email is provided, returns the first. If multiple exist and the supplied email matches none, creates a new profile with that email. Side effect: if email is supplied and the resolved or created profile does not already have that email, the function associates it with the profile (so existing profiles may be updated). Returns the profile and a boolean indicating creation. Use when linking paper authors so that same name + same email link to the same profile.