53 lines
1005 B
Go
53 lines
1005 B
Go
// 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("получена анонимная страница")
|
|
}
|
|
|
|
if isForumPageEmpty(querier) {
|
|
return errors.New("получена пустая страница")
|
|
}
|
|
|
|
forumPages[page] = querier
|
|
|
|
default:
|
|
return errors.New("неизвестный тип страницы")
|
|
}
|
|
|
|
return nil
|
|
}
|