diff options
author | Reto Brunner <reto@labrat.space> | 2020-05-17 11:44:38 +0200 |
---|---|---|
committer | Reto Brunner <reto@labrat.space> | 2020-05-17 11:44:38 +0200 |
commit | 13a6a3fa7109ce6dcff79ea9ed2a012226386fad (patch) | |
tree | f182c5d8f8dbaf5a6445b5c226a229faa7005efa /commands | |
parent | bae678e8f20605b64596c9e976623f2a37247adb (diff) | |
download | aerc-13a6a3fa7109ce6dcff79ea9ed2a012226386fad.tar.gz |
FetchBodyPart doesn't need the parent body structure
Diffstat (limited to 'commands')
-rw-r--r-- | commands/msg/forward.go | 2 | ||||
-rw-r--r-- | commands/msg/pipe.go | 2 | ||||
-rw-r--r-- | commands/msg/recall.go | 2 | ||||
-rw-r--r-- | commands/msg/reply.go | 2 | ||||
-rw-r--r-- | commands/msgview/open.go | 2 | ||||
-rw-r--r-- | commands/msgview/save.go | 29 |
6 files changed, 19 insertions, 20 deletions
diff --git a/commands/msg/forward.go b/commands/msg/forward.go index 0b81e520..c044fb64 100644 --- a/commands/msg/forward.go +++ b/commands/msg/forward.go @@ -138,7 +138,7 @@ func (forward) Execute(aerc *widgets.Aerc, args []string) error { // TODO: something more intelligent than fetching the 1st part // TODO: add attachments! - store.FetchBodyPart(msg.Uid, msg.BodyStructure, []int{1}, func(reader io.Reader) { + store.FetchBodyPart(msg.Uid, []int{1}, func(reader io.Reader) { buf := new(bytes.Buffer) buf.ReadFrom(reader) original.Text = buf.String() diff --git a/commands/msg/pipe.go b/commands/msg/pipe.go index 44b0067d..c88d61f1 100644 --- a/commands/msg/pipe.go +++ b/commands/msg/pipe.go @@ -127,7 +127,7 @@ func (Pipe) Execute(aerc *widgets.Aerc, args []string) error { } else if pipePart { p := provider.SelectedMessagePart() store := provider.Store() - store.FetchBodyPart(p.Msg.Uid, p.Msg.BodyStructure, p.Index, func(reader io.Reader) { + store.FetchBodyPart(p.Msg.Uid, p.Index, func(reader io.Reader) { if background { doExec(reader) } else { diff --git a/commands/msg/recall.go b/commands/msg/recall.go index c2f887a1..ef7e859e 100644 --- a/commands/msg/recall.go +++ b/commands/msg/recall.go @@ -114,7 +114,7 @@ func (Recall) Execute(aerc *widgets.Aerc, args []string) error { path = []int{1} } - store.FetchBodyPart(msgInfo.Uid, part, path, func(reader io.Reader) { + store.FetchBodyPart(msgInfo.Uid, path, func(reader io.Reader) { header := message.Header{} header.SetText( "Content-Transfer-Encoding", part.Encoding) diff --git a/commands/msg/reply.go b/commands/msg/reply.go index 74f00977..72c992e9 100644 --- a/commands/msg/reply.go +++ b/commands/msg/reply.go @@ -165,7 +165,7 @@ func (reply) Execute(aerc *widgets.Aerc, args []string) error { template = aerc.Config().Templates.QuotedReply } - store.FetchBodyPart(msg.Uid, msg.BodyStructure, []int{1}, func(reader io.Reader) { + store.FetchBodyPart(msg.Uid, []int{1}, func(reader io.Reader) { buf := new(bytes.Buffer) buf.ReadFrom(reader) original.Text = buf.String() diff --git a/commands/msgview/open.go b/commands/msgview/open.go index 44584f98..f708b2dd 100644 --- a/commands/msgview/open.go +++ b/commands/msgview/open.go @@ -36,7 +36,7 @@ func (Open) Execute(aerc *widgets.Aerc, args []string) error { p := mv.SelectedMessagePart() store := mv.Store() - store.FetchBodyPart(p.Msg.Uid, p.Msg.BodyStructure, p.Index, func(reader io.Reader) { + store.FetchBodyPart(p.Msg.Uid, p.Index, func(reader io.Reader) { extension := "" // try to determine the correct extension based on mimetype if part, err := p.Msg.BodyStructure.PartAtIndex(p.Index); err == nil { diff --git a/commands/msgview/save.go b/commands/msgview/save.go index f3cbb70a..ef6bba8a 100644 --- a/commands/msgview/save.go +++ b/commands/msgview/save.go @@ -109,21 +109,20 @@ func (Save) Execute(aerc *widgets.Aerc, args []string) error { ch := make(chan error, 1) store := mv.Store() - store.FetchBodyPart( - pi.Msg.Uid, pi.Msg.BodyStructure, pi.Index, func(reader io.Reader) { - f, err := os.Create(path) - if err != nil { - ch <- err - return - } - defer f.Close() - _, err = io.Copy(f, reader) - if err != nil { - ch <- err - return - } - ch <- nil - }) + store.FetchBodyPart(pi.Msg.Uid, pi.Index, func(reader io.Reader) { + f, err := os.Create(path) + if err != nil { + ch <- err + return + } + defer f.Close() + _, err = io.Copy(f, reader) + if err != nil { + ch <- err + return + } + ch <- nil + }) // we need to wait for the callback prior to displaying a result go func() { |