From bf19077ad99a730945aec20247a877777da604eb Mon Sep 17 00:00:00 2001 From: Urban Guacamole Date: Sat, 1 Jan 2022 12:47:06 +0100 Subject: [PATCH] Fix inability to crawl TPB; TLDR TPB has idiotic devs --- crawl-rss/tpb.go | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/crawl-rss/tpb.go b/crawl-rss/tpb.go index 3cbe4bb..98de924 100644 --- a/crawl-rss/tpb.go +++ b/crawl-rss/tpb.go @@ -5,6 +5,7 @@ import ( "io/ioutil" "log" "net/http" + "strconv" ) func CrawlTPB48hTop() []Torrent { @@ -33,8 +34,21 @@ func parseApibayJSON(url string) []Torrent { err = json.Unmarshal(body, &resp) if err != nil { - log.Println(err) - return nil + var respFromIdiots []ApibayTorrentTheyAreIdiots + err = json.Unmarshal(body, &respFromIdiots) + if err != nil { + log.Println(err) + return nil + } + + for _, torrByIdiot := range respFromIdiots { + var transl ApibayTorrent + transl.Info_hash = torrByIdiot.Info_hash + transl.Name = torrByIdiot.Name + transl.Size, err = strconv.Atoi(torrByIdiot.Size) + transl.Added, err = strconv.Atoi(torrByIdiot.Added) + resp = append(resp, transl) + } } var torrents []Torrent @@ -46,9 +60,15 @@ func parseApibayJSON(url string) []Torrent { // ApibayTorrent Structure returned from apibay. For unmarshaling from JSON. Not all fields that are returned from Apibay are in this struct; YAGNI type ApibayTorrent struct { - ID int Info_hash string Name string Size int Added int } + +type ApibayTorrentTheyAreIdiots struct { + Info_hash string + Name string + Size string + Added string +}