-
Notifications
You must be signed in to change notification settings - Fork 1k
Events of Note
This page documents the data
section of some of the more interesting events in the Event Log.
To look at some live data, try these URLs:
-
/api/0/eventlog/incomplete/
(for in-progress events only) /api/0/eventlog/?source=mailpile.mail_source.imap.ImapMailSource
Or on the CLI,
mailpile> help/urlmap eventlog
...
mailpile> eventlog incomplete
...
All Mailpile mail sources will record their internal state in an "incomplete" event. Thus the state of any mail source can be examined via. the event log. The following sections are standard in all Mail Source events.
"id": <the mail source ID>,
"mailbox_state": { ... <internal state> ... },
"have_unknown": true,
"copying": {
"batch_size": 5,
"complete": true,
"copied_bytes": 0,
"copied_messages": 0,
"mailbox_id": "001n",
"running": false,
"total": 0
},
have_unknown
- need configuration
The have_unknown
flag, if present and set to True, is a signal to the user interface that this Mail Source has discovered a new source mailbox, and the user should visit the configuration interface to enable downloads/syncing/whatever.
(This data can also be seen by perusing the mailbox
section of the mail sources configuration and searching for mailboxes with a policy of "unknown", but it is announced here so event listeners can subscribe to the event.)
copying
- progress info
The copying
section appears if mail was (or is being) copied from a source mailbox to a local mailbox. It shows statistics which can be used to generate a progress-bar or otherwise inform the user about in-progess copies.
- The
running
attribute tells us whether the copy is still in progress or whether it has finished. - If
complete
is true, then that means all known mail has been copied (or downloaded).
The data
section of these events (Mail sources and the rescan
command) will contain two subsections, rescan
and rescans
, pertaining to what happened during the process of reading new mail (indexing for the search engine, initial tagging, etc.) These data sections look like so:
"rescan": {
"added": 0,
"batch_size": 5,
"complete": true,
"errors": [],
"mailbox_id": "001j",
"running": false,
"total": 2,
"updated": 0
},
"rescans": [
[<Mailbox ID>, <Count>, <Human readable message>, { ...stats... }],
...
]
rescan
- progress info
The first, rescan
, describes the most recent rescan operation, which may still be in progress. This can be used to generate a progress bar.
- The
running
attribute will be True if the operation is still running. - The
complete
attribute will be True if all known messages have been processed.
rescans
- history
The second section, rescans
, gives a summary of the recent rescan operations and how they went. Each entry in the history is a list of four values:
- the Mailbox ID
- the count of messages added to the index (or -1 if there was an error)
- a human readable description
- a dictionary describing the final state in machine-readable form:
-
updated
= how many messages were updated -
added
= how many messages were added -
complete
= whether the rescan was considered complete or not.
-
The IMAP Mail Sources (and other network sources such as POP3 in the future) will record information about network activity on its event, like so:
"connection": {
"error": [false, "Nothing is wrong"],
"live": true
},
- The
error
attribute is a list of two items:- The first is the error state, one of: False, "network", "auth", "timeout" and "imap"
- the second item is a human readable description of the problem
- The
live
event is True if the connection is currently in a usable state, otherwise False
(An error state of False means there was no error. Usually live
will be true in this case.)