Move findPlaintext / findFirstNonMultipart to utils
They are used by more than one command and as such need to be in a common file.
This commit is contained in:
parent
cff4476f3b
commit
d48ea6231c
2 changed files with 32 additions and 31 deletions
|
@ -196,34 +196,3 @@ func (reply) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
return addTab()
|
||||
}
|
||||
}
|
||||
|
||||
func findPlaintext(bs *models.BodyStructure, path []int) []int {
|
||||
for i, part := range bs.Parts {
|
||||
cur := append(path, i+1)
|
||||
if strings.ToLower(part.MIMEType) == "text" &&
|
||||
strings.ToLower(part.MIMESubType) == "plain" {
|
||||
return cur
|
||||
}
|
||||
if strings.ToLower(part.MIMEType) == "multipart" {
|
||||
if path := findPlaintext(part, cur); path != nil {
|
||||
return path
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func findFirstNonMultipart(bs *models.BodyStructure, path []int) []int {
|
||||
for i, part := range bs.Parts {
|
||||
cur := append(path, i+1)
|
||||
mimetype := strings.ToLower(part.MIMEType)
|
||||
if mimetype != "multipart" {
|
||||
return path
|
||||
} else if mimetype == "multipart" {
|
||||
if path := findPlaintext(part, cur); path != nil {
|
||||
return path
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package msg
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"git.sr.ht/~sircmpwn/aerc/commands"
|
||||
"git.sr.ht/~sircmpwn/aerc/lib"
|
||||
|
@ -48,3 +49,34 @@ func (h *helper) messages() ([]*models.MessageInfo, error) {
|
|||
}
|
||||
return commands.MsgInfoFromUids(store, uid)
|
||||
}
|
||||
|
||||
func findPlaintext(bs *models.BodyStructure, path []int) []int {
|
||||
for i, part := range bs.Parts {
|
||||
cur := append(path, i+1)
|
||||
if strings.ToLower(part.MIMEType) == "text" &&
|
||||
strings.ToLower(part.MIMESubType) == "plain" {
|
||||
return cur
|
||||
}
|
||||
if strings.ToLower(part.MIMEType) == "multipart" {
|
||||
if path := findPlaintext(part, cur); path != nil {
|
||||
return path
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func findFirstNonMultipart(bs *models.BodyStructure, path []int) []int {
|
||||
for i, part := range bs.Parts {
|
||||
cur := append(path, i+1)
|
||||
mimetype := strings.ToLower(part.MIMEType)
|
||||
if mimetype != "multipart" {
|
||||
return path
|
||||
} else if mimetype == "multipart" {
|
||||
if path := findPlaintext(part, cur); path != nil {
|
||||
return path
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue