order some filtering loops better to avoid repeated lookups
This commit is contained in:
parent
845fcf52f8
commit
5222332d91
28
fun.go
28
fun.go
|
@ -104,24 +104,24 @@ func reverbolate(userid int64, honks []*Honk) {
|
|||
h.Precis = string(p)
|
||||
h.Noise = string(n)
|
||||
}
|
||||
|
||||
if userid == -1 {
|
||||
if h.Precis != "" {
|
||||
h.Open = ""
|
||||
}
|
||||
} else {
|
||||
unsee(userid, h)
|
||||
if h.Open == "open" && h.Precis == "unspecified horror" {
|
||||
h.Precis = ""
|
||||
j := 0
|
||||
for i := 0; i < len(h.Donks); i++ {
|
||||
if !zap[h.Donks[i].XID] {
|
||||
h.Donks[j] = h.Donks[i]
|
||||
j++
|
||||
}
|
||||
}
|
||||
if len(h.Noise) > 6000 && h.Open == "open" {
|
||||
if h.Precis == "" {
|
||||
h.Precis = "really freaking long"
|
||||
}
|
||||
h.Open = ""
|
||||
h.Donks = h.Donks[:j]
|
||||
}
|
||||
|
||||
unsee(honks, userid)
|
||||
|
||||
for _, h := range honks {
|
||||
local := false
|
||||
if h.Whofore == 2 || h.Whofore == 3 {
|
||||
local = true
|
||||
}
|
||||
zap := make(map[string]bool)
|
||||
emuxifier := func(e string) string {
|
||||
for _, d := range h.Donks {
|
||||
if d.Name == e {
|
||||
|
|
23
hfcs.go
23
hfcs.go
|
@ -353,9 +353,12 @@ func skipMedia(xonk *Honk) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func unsee(userid int64, h *Honk) {
|
||||
filts := getfilters(userid, filtCollapse)
|
||||
for _, f := range filts {
|
||||
func unsee(honks []*Honk, userid int64) {
|
||||
if userid != -1 {
|
||||
colfilts := getfilters(userid, filtCollapse)
|
||||
rwfilts := getfilters(userid, filtRewrite)
|
||||
for _, h := range honks {
|
||||
for _, f := range colfilts {
|
||||
if bad := matchfilterX(h, f); bad != "" {
|
||||
if h.Precis == "" {
|
||||
h.Precis = bad
|
||||
|
@ -364,12 +367,22 @@ func unsee(userid int64, h *Honk) {
|
|||
break
|
||||
}
|
||||
}
|
||||
filts = getfilters(userid, filtRewrite)
|
||||
for _, f := range filts {
|
||||
if h.Open == "open" && h.Precis == "unspecified horror" {
|
||||
h.Precis = ""
|
||||
}
|
||||
for _, f := range rwfilts {
|
||||
if matchfilter(h, f) {
|
||||
h.Noise = f.re_rewrite.ReplaceAllString(h.Noise, f.Replace)
|
||||
}
|
||||
}
|
||||
if len(h.Noise) > 6000 && h.Open == "open" {
|
||||
if h.Precis == "" {
|
||||
h.Precis = "really freaking long"
|
||||
}
|
||||
h.Open = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var untagged = cache.New(cache.Options{Filler: func(userid int64) (map[string]bool, bool) {
|
||||
|
|
Loading…
Reference in New Issue