mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-16 15:16:44 +00:00
refactor: tidy a bit
This commit is contained in:
@ -277,7 +277,12 @@ func writeMIMEMessage(p *parser.Parser) (mime string, err error) {
|
|||||||
NewWriter().
|
NewWriter().
|
||||||
WithCondition(func(p *parser.Part) (keep bool) {
|
WithCondition(func(p *parser.Part) (keep bool) {
|
||||||
disp, _, err := p.Header.ContentDisposition()
|
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)
|
buf := new(bytes.Buffer)
|
||||||
|
|||||||
@ -1,19 +1,13 @@
|
|||||||
package parser
|
package parser
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
|
||||||
"github.com/emersion/go-message"
|
"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 {
|
type Parser struct {
|
||||||
stack []*Part
|
stack []*Part
|
||||||
root *Part
|
root *Part
|
||||||
@ -49,7 +43,7 @@ func (p *Parser) Part(number []int) (part *Part, err error) {
|
|||||||
part = p.root
|
part = p.root
|
||||||
|
|
||||||
for _, n := range number {
|
for _, n := range number {
|
||||||
if part, err = part.Part(n); err != nil {
|
if part, err = part.Child(n); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -57,13 +51,17 @@ func (p *Parser) Part(number []int) (part *Part, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Parser) parse(r io.Reader) (err error) {
|
func (p *Parser) parse(r io.Reader) error {
|
||||||
e, err := message.Read(r)
|
entity, err := message.Read(r)
|
||||||
if err != nil {
|
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() {
|
func (p *Parser) enter() {
|
||||||
|
|||||||
@ -14,7 +14,7 @@ type Part struct {
|
|||||||
children Parts
|
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 {
|
if len(p.children) < n {
|
||||||
return nil, errors.New("no such part")
|
return nil, errors.New("no such part")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user