mirror of https://github.com/velour/catbase.git
Merge pull request #192 from velour/webshit_urls
webshit: fix URL matching to use query string
This commit is contained in:
commit
05bb70e3a1
|
@ -70,3 +70,4 @@ util/*/files
|
||||||
run.sh
|
run.sh
|
||||||
.idea
|
.idea
|
||||||
logs
|
logs
|
||||||
|
util/files
|
||||||
|
|
|
@ -123,7 +123,13 @@ func (w *Webshit) Check() ([]WeeklyResult, error) {
|
||||||
|
|
||||||
storyMap := map[string]Story{}
|
storyMap := map[string]Story{}
|
||||||
for _, s := range stories {
|
for _, s := range stories {
|
||||||
storyMap[s.URL] = s
|
u, err := url.Parse(s.URL)
|
||||||
|
if err != nil {
|
||||||
|
log.Error().Err(err).Msg("couldn't parse URL")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
id := u.Query().Get("id")
|
||||||
|
storyMap[id] = s
|
||||||
}
|
}
|
||||||
|
|
||||||
wr := w.checkBids(bids, storyMap)
|
wr := w.checkBids(bids, storyMap)
|
||||||
|
@ -162,7 +168,14 @@ func (w *Webshit) checkBids(bids []Bid, storyMap map[string]Story) []WeeklyResul
|
||||||
}
|
}
|
||||||
rec := wr[b.User]
|
rec := wr[b.User]
|
||||||
|
|
||||||
if s, ok := storyMap[b.URL]; ok {
|
u, err := url.Parse(b.URL)
|
||||||
|
if err != nil {
|
||||||
|
log.Error().Err(err).Msg("couldn't parse URL")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
id := u.Query().Get("id")
|
||||||
|
|
||||||
|
if s, ok := storyMap[id]; ok {
|
||||||
log.Debug().Interface("story", s).Msg("won bid")
|
log.Debug().Interface("story", s).Msg("won bid")
|
||||||
rec.Won += b.Bid
|
rec.Won += b.Bid
|
||||||
rec.Score += b.Bid
|
rec.Score += b.Bid
|
||||||
|
|
|
@ -62,11 +62,11 @@ func TestWebshit_GetBalance(t *testing.T) {
|
||||||
func TestWebshit_checkBids(t *testing.T) {
|
func TestWebshit_checkBids(t *testing.T) {
|
||||||
w := makeWS(t)
|
w := makeWS(t)
|
||||||
bids := []Bid{
|
bids := []Bid{
|
||||||
Bid{User: "foo", Title: "bar", URL: "baz", Bid: 10},
|
Bid{User: "foo", Title: "bar", URL: "https://baz/?id=1", Bid: 10},
|
||||||
Bid{User: "foo", Title: "bar2", URL: "baz2", Bid: 10},
|
Bid{User: "foo", Title: "bar2", URL: "http://baz/?id=2", Bid: 10},
|
||||||
}
|
}
|
||||||
storyMap := map[string]Story{
|
storyMap := map[string]Story{
|
||||||
"baz": Story{Title: "bar", URL: "baz"},
|
"1": Story{Title: "bar", URL: "http://baz/?id=1"},
|
||||||
}
|
}
|
||||||
result := w.checkBids(bids, storyMap)
|
result := w.checkBids(bids, storyMap)
|
||||||
assert.Len(t, result, 1)
|
assert.Len(t, result, 1)
|
||||||
|
|
Loading…
Reference in New Issue