Move parsing utilities to a separate file
This commit is contained in:
parent
18994a2ae6
commit
fbfe804b83
|
@ -96,57 +96,6 @@ func (s embedParser) previewOrLegitEmbed(name string, legitHtml string) string {
|
|||
return legitHtml
|
||||
}
|
||||
|
||||
func extract(re *regexp.Regexp, src []byte, subexpName string) []byte {
|
||||
m := re.FindSubmatch(src)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
return m[re.SubexpIndex(subexpName)]
|
||||
}
|
||||
|
||||
func extractMap(re *regexp.Regexp, src []byte) map[string][]byte {
|
||||
m := re.FindSubmatch(src)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
res := make(map[string][]byte)
|
||||
for _, name := range re.SubexpNames() {
|
||||
if name != "" {
|
||||
i := re.SubexpIndex(name)
|
||||
res[name] = m[i]
|
||||
}
|
||||
}
|
||||
res["all"] = m[0]
|
||||
return res
|
||||
}
|
||||
|
||||
func extractAll(re *regexp.Regexp, src []byte, subexpName string) [][]byte {
|
||||
m := re.FindAllSubmatch(src, -1)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
return m[re.SubexpIndex(subexpName)]
|
||||
}
|
||||
|
||||
func extractAllMap(re *regexp.Regexp, src []byte) map[string][][]byte {
|
||||
m := re.FindAllSubmatch(src, -1)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
res := make(map[string][][]byte)
|
||||
for i, name := range re.SubexpNames() {
|
||||
if name != "" {
|
||||
var vals [][]byte
|
||||
for _, specificMatch := range m {
|
||||
vals = append(vals, specificMatch[i])
|
||||
}
|
||||
res[name] = vals
|
||||
}
|
||||
}
|
||||
res["all"] = m[0]
|
||||
return res
|
||||
}
|
||||
|
||||
func makeYoutubeEmbed(vid string, preview bool) string {
|
||||
if preview {
|
||||
return `
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
package parsing
|
||||
|
||||
import "regexp"
|
||||
|
||||
func extract(re *regexp.Regexp, src []byte, subexpName string) []byte {
|
||||
m := re.FindSubmatch(src)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
return m[re.SubexpIndex(subexpName)]
|
||||
}
|
||||
|
||||
func extractMap(re *regexp.Regexp, src []byte) map[string][]byte {
|
||||
m := re.FindSubmatch(src)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
res := make(map[string][]byte)
|
||||
for _, name := range re.SubexpNames() {
|
||||
if name != "" {
|
||||
i := re.SubexpIndex(name)
|
||||
res[name] = m[i]
|
||||
}
|
||||
}
|
||||
res["all"] = m[0]
|
||||
return res
|
||||
}
|
||||
|
||||
func extractAll(re *regexp.Regexp, src []byte, subexpName string) [][]byte {
|
||||
m := re.FindAllSubmatch(src, -1)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
return m[re.SubexpIndex(subexpName)]
|
||||
}
|
||||
|
||||
func extractAllMap(re *regexp.Regexp, src []byte) map[string][][]byte {
|
||||
m := re.FindAllSubmatch(src, -1)
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
res := make(map[string][][]byte)
|
||||
for i, name := range re.SubexpNames() {
|
||||
if name != "" {
|
||||
var vals [][]byte
|
||||
for _, specificMatch := range m {
|
||||
vals = append(vals, specificMatch[i])
|
||||
}
|
||||
res[name] = vals
|
||||
}
|
||||
}
|
||||
res["all"] = m[0]
|
||||
return res
|
||||
}
|
Loading…
Reference in New Issue