From 0828d6782e0eff58cfafd5390c9dc742fbec1144 Mon Sep 17 00:00:00 2001 From: Nazar Kanaev Date: Sun, 4 Apr 2021 20:45:13 +0100 Subject: [PATCH] extract date parser to a new file --- src/parser/{utils.go => date.go} | 35 +------------------------------- src/parser/util.go | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 34 deletions(-) rename src/parser/{utils.go => date.go} (90%) create mode 100644 src/parser/util.go diff --git a/src/parser/utils.go b/src/parser/date.go similarity index 90% rename from src/parser/utils.go rename to src/parser/date.go index e87c709..6a1d8ba 100644 --- a/src/parser/utils.go +++ b/src/parser/date.go @@ -1,39 +1,6 @@ package parser -import ( - "encoding/xml" - "io" - "regexp" - "strings" - "time" - - "golang.org/x/net/html/charset" -) - -func firstNonEmpty(vals ...string) string { - for _, val := range vals { - valTrimmed := strings.TrimSpace(val) - if len(valTrimmed) > 0 { - return valTrimmed - } - } - return "" -} - -var linkRe = regexp.MustCompile(`(https?:\/\/\S+)`) - -func plain2html(text string) string { - text = linkRe.ReplaceAllString(text, `$1`) - text = strings.ReplaceAll(text, "\n", "
") - return text -} - -func xmlDecoder(r io.Reader) *xml.Decoder { - decoder := xml.NewDecoder(r) - decoder.Strict = false - decoder.CharsetReader = charset.NewReaderLabel - return decoder -} +import "time" // taken from github.com/mjibson/goread var dateFormats = []string{ diff --git a/src/parser/util.go b/src/parser/util.go new file mode 100644 index 0000000..ba32673 --- /dev/null +++ b/src/parser/util.go @@ -0,0 +1,35 @@ +package parser + +import ( + "encoding/xml" + "io" + "regexp" + "strings" + + "golang.org/x/net/html/charset" +) + +func firstNonEmpty(vals ...string) string { + for _, val := range vals { + valTrimmed := strings.TrimSpace(val) + if len(valTrimmed) > 0 { + return valTrimmed + } + } + return "" +} + +var linkRe = regexp.MustCompile(`(https?:\/\/\S+)`) + +func plain2html(text string) string { + text = linkRe.ReplaceAllString(text, `$1`) + text = strings.ReplaceAll(text, "\n", "
") + return text +} + +func xmlDecoder(r io.Reader) *xml.Decoder { + decoder := xml.NewDecoder(r) + decoder.Strict = false + decoder.CharsetReader = charset.NewReaderLabel + return decoder +}