Move onto the plugin surface: the records, the services and the calendar text are on it now #4
Labels
No labels
bug
documentation
enhancement
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Postulo/postulo-dav#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The surface it was waiting for landed in the core (postulo/postulo#229,
1d6cdd7e0):postulo.plugins.apinow carries the notifier contract, the records a sync works on, thecalls that write to a timeline, the details that hang off a contact, and the calendar text.
The core also publishes the check itself as
postulo.plugins.testing, so a plugin canassert the same thing about its own source that Postulo asserts about the ones it ships.
What moves
Every
# #229marker insrc/postulo_dav/sync.pygoes, and the import block with it:postulo.applications.modelsInterview,InterviewOutcomepostulo.applications.servicesget_or_create_company,record_event,reschedule_interview,settle_interviewpostulo.jobs.modelsContactpostulo.plugins.modelsSyncLinkpostulo.core.phone_numbersprimary_phone_number,save_phone_number,phone_number_is_takenpostulo.core.web_linksprimary_web_link,save_web_link,LinkKindpostulo.applications.icalevent_lines,calendar_statusevent_textgets shorter.ical.escapeandical.STATUS_OFare deliberately not onthe surface:
event_lines(interview, alarm=True)now writes the reminder as aVALARMitself, so the hand-assembled alarm block goes, and
calendar_status(interview)answerswhat
STATUS_OF[interview.outcome]answered — without this plugin keeping a private copyof a table that goes stale the day a fifth outcome is added.
Also
1d6cdd7e0or later; the names do not exist before it.Run the published check
Replace this repository's hand-written copy of the AST check with the core's:
One check rather than several near-copies that can drift apart, and it resolves relative
imports, which the copy here does not.