package main
import (
"github.com/jaytaylor/html2text"
)
type totext struct{}
func (totext) Execute(args []string, ins []<-chan Datum, out chan Datum) error {
defer func() {
out <- Datum{End: true}
close(out)
}()
for _, d := Select(ins); d != nil; _, d = Select(ins) {
if d.Text != nil {
out <- *d
}
if d.HTML != nil {
s, err := html2text.FromHTMLNode(d.HTML)
if err != nil {
return err
}
out <- Datum{Text: &s}
}
}
return nil
}
func init() {
Filters["totext"] = totext{}
}