tune up quotes. save the fetched post.
This commit is contained in:
parent
cb7c9d700b
commit
5d03fbac6a
63
activity.go
63
activity.go
|
@ -511,36 +511,13 @@ func firstofmany(obj junk.Junk, key string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
var re_mast0link = regexp.MustCompile(`https://[[:alnum:].]+/users/[[:alnum:]]+/statuses/[[:digit:]]+`)
|
var re_mast0link = regexp.MustCompile(`https://[[:alnum:].]+/users/[[:alnum:]]+/statuses/[[:digit:]]+`)
|
||||||
var re_masto1ink = regexp.MustCompile(`https://[[:alnum:].]+/@[[:alnum:]]+/[[:digit:]]+`)
|
var re_masto1ink = regexp.MustCompile(`https://([[:alnum:].]+)/@([[:alnum:]]+)/([[:digit:]]+)`)
|
||||||
var re_misslink = regexp.MustCompile(`https://[[:alnum:].]+/notes/[[:alnum:]]+`)
|
var re_misslink = regexp.MustCompile(`https://[[:alnum:].]+/notes/[[:alnum:]]+`)
|
||||||
var re_honklink = regexp.MustCompile(`https://[[:alnum:].]+/u/[[:alnum:]]+/h/[[:alnum:]]+`)
|
var re_honklink = regexp.MustCompile(`https://[[:alnum:].]+/u/[[:alnum:]]+/h/[[:alnum:]]+`)
|
||||||
var re_r0malink = regexp.MustCompile(`https://[[:alnum:].]+/objects/[[:alnum:]-]+`)
|
var re_r0malink = regexp.MustCompile(`https://[[:alnum:].]+/objects/[[:alnum:]-]+`)
|
||||||
var re_roma1ink = regexp.MustCompile(`https://[[:alnum:].]+/notice/[[:alnum:]]+`)
|
var re_roma1ink = regexp.MustCompile(`https://[[:alnum:].]+/notice/[[:alnum:]]+`)
|
||||||
var re_qtlinks = regexp.MustCompile(`>https://[^\s<]+<`)
|
var re_qtlinks = regexp.MustCompile(`>https://[^\s<]+<`)
|
||||||
|
|
||||||
func qutify(user *WhatAbout, content string) string {
|
|
||||||
// well this is gross
|
|
||||||
malcontent := strings.ReplaceAll(content, `</span><span class="ellipsis">`, "")
|
|
||||||
malcontent = strings.ReplaceAll(malcontent, `</span><span class="invisible">`, "")
|
|
||||||
mlinks := re_qtlinks.FindAllString(malcontent, -1)
|
|
||||||
for _, m := range mlinks {
|
|
||||||
m = m[1 : len(m)-1]
|
|
||||||
if re_mast0link.MatchString(m) || re_masto1ink.MatchString(m) ||
|
|
||||||
re_misslink.MatchString(m) ||
|
|
||||||
re_honklink.MatchString(m) ||
|
|
||||||
re_r0malink.MatchString(m) || re_roma1ink.MatchString(m) {
|
|
||||||
j, err := GetJunk(user.ID, m)
|
|
||||||
if err == nil {
|
|
||||||
q, ok := j.GetString("content")
|
|
||||||
if ok {
|
|
||||||
content = fmt.Sprintf("%s<blockquote>%s</blockquote>", content, q)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return content
|
|
||||||
}
|
|
||||||
|
|
||||||
func xonksaver(user *WhatAbout, item junk.Junk, origin string) *Honk {
|
func xonksaver(user *WhatAbout, item junk.Junk, origin string) *Honk {
|
||||||
depth := 0
|
depth := 0
|
||||||
maxdepth := 10
|
maxdepth := 10
|
||||||
|
@ -548,6 +525,44 @@ func xonksaver(user *WhatAbout, item junk.Junk, origin string) *Honk {
|
||||||
goingup := 0
|
goingup := 0
|
||||||
var xonkxonkfn func(item junk.Junk, origin string, isUpdate bool) *Honk
|
var xonkxonkfn func(item junk.Junk, origin string, isUpdate bool) *Honk
|
||||||
|
|
||||||
|
qutify := func(user *WhatAbout, content string) string {
|
||||||
|
if depth >= maxdepth {
|
||||||
|
ilog.Printf("in too deep")
|
||||||
|
return content
|
||||||
|
}
|
||||||
|
// well this is gross
|
||||||
|
malcontent := strings.ReplaceAll(content, `</span><span class="ellipsis">`, "")
|
||||||
|
malcontent = strings.ReplaceAll(malcontent, `</span><span class="invisible">`, "")
|
||||||
|
mlinks := re_qtlinks.FindAllString(malcontent, -1)
|
||||||
|
for _, m := range mlinks {
|
||||||
|
tryit := false
|
||||||
|
m = m[1 : len(m)-1]
|
||||||
|
if re_mast0link.MatchString(m) || re_misslink.MatchString(m) ||
|
||||||
|
re_honklink.MatchString(m) || re_r0malink.MatchString(m) ||
|
||||||
|
re_roma1ink.MatchString(m) {
|
||||||
|
tryit = true
|
||||||
|
} else if re_masto1ink.MatchString(m) {
|
||||||
|
m = re_masto1ink.ReplaceAllString(m, "https://$1/users/$2/statuses/$3")
|
||||||
|
tryit = true
|
||||||
|
}
|
||||||
|
if tryit {
|
||||||
|
if x := getxonk(user.ID, m); x != nil {
|
||||||
|
content = fmt.Sprintf("%s<blockquote>%s</blockquote>", content, x.Noise)
|
||||||
|
} else if j, err := GetJunk(user.ID, m); err == nil {
|
||||||
|
q, ok := j.GetString("content")
|
||||||
|
if ok {
|
||||||
|
content = fmt.Sprintf("%s<blockquote>%s</blockquote>", content, q)
|
||||||
|
}
|
||||||
|
prevdepth := depth
|
||||||
|
depth = maxdepth
|
||||||
|
xonkxonkfn(j, originate(m), false)
|
||||||
|
depth = prevdepth
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return content
|
||||||
|
}
|
||||||
|
|
||||||
saveonemore := func(xid string) {
|
saveonemore := func(xid string) {
|
||||||
dlog.Printf("getting onemore: %s", xid)
|
dlog.Printf("getting onemore: %s", xid)
|
||||||
if depth >= maxdepth {
|
if depth >= maxdepth {
|
||||||
|
|
Loading…
Reference in New Issue