diff options
author | Reto Brunner <reto@labrat.space> | 2019-12-23 12:51:58 +0100 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-12-27 10:20:29 -0700 |
commit | 63391b7dca09e3f2cf3c4ff903592d23fe8f56a3 (patch) | |
tree | 4d1d4f918bd1a9536991a763c945139f89b8065e /worker | |
parent | 6794ce0d9cce89d5fab726d7bc93a77b47cea677 (diff) | |
download | aerc-63391b7dca09e3f2cf3c4ff903592d23fe8f56a3.tar.gz |
Add labels to index format (%g)
Exposes the notmuch tags accordingly, stubs it for the maildir worker.
Diffstat (limited to 'worker')
-rw-r--r-- | worker/lib/parse.go | 6 | ||||
-rw-r--r-- | worker/maildir/message.go | 4 | ||||
-rw-r--r-- | worker/notmuch/message.go | 4 |
3 files changed, 14 insertions, 0 deletions
diff --git a/worker/lib/parse.go b/worker/lib/parse.go index c3a43ca..eed39cb 100644 --- a/worker/lib/parse.go +++ b/worker/lib/parse.go @@ -207,6 +207,7 @@ func parseAddressList(h *mail.Header, key string) ([]*models.Address, error) { type RawMessage interface { NewReader() (io.Reader, error) ModelFlags() ([]models.Flag, error) + Labels() ([]string, error) UID() uint32 } @@ -233,10 +234,15 @@ func MessageInfo(raw RawMessage) (*models.MessageInfo, error) { if err != nil { return nil, err } + labels, err := raw.Labels() + if err != nil { + return nil, err + } return &models.MessageInfo{ BodyStructure: bs, Envelope: env, Flags: flags, + Labels: labels, InternalDate: env.Date, RFC822Headers: &mail.Header{msg.Header}, Size: 0, diff --git a/worker/maildir/message.go b/worker/maildir/message.go index dc5646b..45b1ca6 100644 --- a/worker/maildir/message.go +++ b/worker/maildir/message.go @@ -119,3 +119,7 @@ func translateFlags(maildirFlags []maildir.Flag) []models.Flag { func (m Message) UID() uint32 { return m.uid } + +func (m Message) Labels() ([]string, error) { + return nil, nil +} diff --git a/worker/notmuch/message.go b/worker/notmuch/message.go index c51e2e9..ec1adb9 100644 --- a/worker/notmuch/message.go +++ b/worker/notmuch/message.go @@ -102,6 +102,10 @@ func (m *Message) Tags() ([]string, error) { return m.db.MsgTags(m.key) } +func (m *Message) Labels() ([]string, error) { + return m.Tags() +} + func (m *Message) ModelFlags() ([]models.Flag, error) { var flags []models.Flag seen := true |