83 lines
1.8 KiB
Go
83 lines
1.8 KiB
Go
package manga_providers
|
|
|
|
import (
|
|
"github.com/rs/zerolog"
|
|
"net/http"
|
|
"seanime/internal/util"
|
|
"time"
|
|
)
|
|
|
|
type (
|
|
Template struct {
|
|
Url string
|
|
Client *http.Client
|
|
UserAgent string
|
|
logger *zerolog.Logger
|
|
}
|
|
)
|
|
|
|
func NewTemplate(logger *zerolog.Logger) *Template {
|
|
c := &http.Client{
|
|
Timeout: 60 * time.Second,
|
|
}
|
|
c.Transport = util.AddCloudFlareByPass(c.Transport)
|
|
return &Template{
|
|
Url: "https://XXXXXX.com",
|
|
Client: c,
|
|
UserAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
|
|
logger: logger,
|
|
}
|
|
}
|
|
|
|
func (mp *Template) Search(opts SearchOptions) ([]*SearchResult, error) {
|
|
results := make([]*SearchResult, 0)
|
|
|
|
mp.logger.Debug().Str("query", opts.Query).Msg("XXXXXX: Searching manga")
|
|
|
|
// code
|
|
|
|
if len(results) == 0 {
|
|
mp.logger.Error().Str("query", opts.Query).Msg("XXXXXX: No results found")
|
|
return nil, ErrNoResults
|
|
}
|
|
|
|
mp.logger.Info().Int("count", len(results)).Msg("XXXXXX: Found results")
|
|
|
|
return results, nil
|
|
}
|
|
|
|
func (mp *Template) FindChapters(id string) ([]*ChapterDetails, error) {
|
|
ret := make([]*ChapterDetails, 0)
|
|
|
|
mp.logger.Debug().Str("mangaId", id).Msg("XXXXXX: Finding chapters")
|
|
|
|
// code
|
|
|
|
if len(ret) == 0 {
|
|
mp.logger.Error().Str("mangaId", id).Msg("XXXXXX: No chapters found")
|
|
return nil, ErrNoChapters
|
|
}
|
|
|
|
mp.logger.Info().Int("count", len(ret)).Msg("XXXXXX: Found chapters")
|
|
|
|
return ret, nil
|
|
}
|
|
|
|
func (mp *Template) FindChapterPages(id string) ([]*ChapterPage, error) {
|
|
ret := make([]*ChapterPage, 0)
|
|
|
|
mp.logger.Debug().Str("chapterId", id).Msg("XXXXXX: Finding chapter pages")
|
|
|
|
// code
|
|
|
|
if len(ret) == 0 {
|
|
mp.logger.Error().Str("chapterId", id).Msg("XXXXXX: No pages found")
|
|
return nil, ErrNoPages
|
|
}
|
|
|
|
mp.logger.Info().Int("count", len(ret)).Msg("XXXXXX: Found pages")
|
|
|
|
return ret, nil
|
|
|
|
}
|