1
uploader_tools/internal/services/fetcher/querier.go

53 lines
1005 B
Go
Raw Normal View History

// NNM-Club torrent files mass downloader
// Created for Uploaders group
// Copyright (c) 2012-2022 Vladimir "fat0troll" Hodakov
package fetcher
import (
"errors"
"os"
"github.com/PuerkitoBio/goquery"
)
func obtainQuerier(pageFile string) (*goquery.Document, error) {
f, err := os.Open(pageFile)
if err != nil {
return nil, err
}
defer f.Close()
querier, err := goquery.NewDocumentFromReader(f)
if err != nil {
return nil, err
}
return querier, nil
}
func setQuerier(pageFile string, pageType string, page int) error {
querier, err := obtainQuerier(pageFile)
if err != nil {
return err
}
switch pageType {
case "forumPage":
if !checkLoginness(querier) {
return errors.New("получена анонимная страница")
}
2020-02-22 18:33:33 +04:00
if isForumPageEmpty(querier) {
return errors.New("получена пустая страница")
}
forumPages[page] = querier
2020-02-22 18:33:33 +04:00
default:
return errors.New("неизвестный тип страницы")
}
return nil
}