forked from Silverfish/proton-bridge
refactor: tidy a bit
This commit is contained in:
@ -277,7 +277,12 @@ func writeMIMEMessage(p *parser.Parser) (mime string, err error) {
|
||||
NewWriter().
|
||||
WithCondition(func(p *parser.Part) (keep bool) {
|
||||
disp, _, err := p.Header.ContentDisposition()
|
||||
return err != nil || disp != "attachment"
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
// TODO: Is it true that we don't want to write attachments? I thought this was for externals...
|
||||
return disp != "attachment"
|
||||
})
|
||||
|
||||
buf := new(bytes.Buffer)
|
||||
|
||||
@ -1,19 +1,13 @@
|
||||
package parser
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
|
||||
"github.com/emersion/go-message"
|
||||
)
|
||||
|
||||
// TODO: Set this to something that handles charsets.
|
||||
func init() { // nolint[gochecknoinits]
|
||||
message.CharsetReader = func(string, io.Reader) (io.Reader, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
}
|
||||
|
||||
type Parser struct {
|
||||
stack []*Part
|
||||
root *Part
|
||||
@ -49,7 +43,7 @@ func (p *Parser) Part(number []int) (part *Part, err error) {
|
||||
part = p.root
|
||||
|
||||
for _, n := range number {
|
||||
if part, err = part.Part(n); err != nil {
|
||||
if part, err = part.Child(n); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -57,13 +51,17 @@ func (p *Parser) Part(number []int) (part *Part, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (p *Parser) parse(r io.Reader) (err error) {
|
||||
e, err := message.Read(r)
|
||||
func (p *Parser) parse(r io.Reader) error {
|
||||
entity, err := message.Read(r)
|
||||
if err != nil {
|
||||
return
|
||||
if !message.IsUnknownCharset(err) {
|
||||
return err
|
||||
} else {
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
|
||||
return p.parseEntity(e)
|
||||
return p.parseEntity(entity)
|
||||
}
|
||||
|
||||
func (p *Parser) enter() {
|
||||
|
||||
@ -14,7 +14,7 @@ type Part struct {
|
||||
children Parts
|
||||
}
|
||||
|
||||
func (p *Part) Part(n int) (part *Part, err error) {
|
||||
func (p *Part) Child(n int) (part *Part, err error) {
|
||||
if len(p.children) < n {
|
||||
return nil, errors.New("no such part")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user