Documentation
¶
Index ¶
- Variables
- func AddSite(name, url, language string) error
- func CheckNetWorkFromURL(url string) bool
- func CollectData(s []Scraping, keyword string, spinner *Spinner) map[string]string
- func CollectDataEx(s []ScrapingEx, keyword string, spinner *Spinner) map[string][]string
- func EnableSite(name string, enabled bool) error
- func GetAvailableSites(oldItems []Scraping) ([]Scraping, *Spinner)
- func GetAvailableSitesEx(oldItems []ScrapingEx) ([]ScrapingEx, *Spinner)
- func GetConfigPath() string
- func GetEnabledSites(language string) map[string]SiteConfig
- func GetResponseFromURL(url string) (resp *http.Response, ok bool)
- func ListSites()
- func PrintData(data map[string]string)
- func PrintDataEx(data map[string][]string)
- func PrintDoctorStatus(statuses []SiteStatus)
- func RemoveNonAscII(s string) string
- func RemoveSite(name string) error
- func SaveConfig(c *Config) error
- func SetSiteURL(name, url string) error
- func URLJoin(baseURL string, relURL string) string
- type Config
- type Scraping
- type ScrapingEx
- type SiteConfig
- type SiteStatus
- type Spinner
Constants ¶
This section is empty.
Variables ¶
var ( // TorrentURL is the map of site names to URLs (loaded from config) TorrentURL = map[string]string{} // UserAgent for HTTP requests UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" )
Functions ¶
func CheckNetWorkFromURL ¶
CheckNetWorkFromURL function checks network status
func CollectData ¶
CollectData function executes web scraping based on each scrapper
func CollectDataEx ¶
func CollectDataEx(s []ScrapingEx, keyword string, spinner *Spinner) map[string][]string
CollectDataEx function executes web scraping based on each scrapper
func EnableSite ¶
EnableSite enables or disables a site
func GetAvailableSites ¶
GetAvailableSites function gets available torrent sites
func GetAvailableSitesEx ¶
func GetAvailableSitesEx(oldItems []ScrapingEx) ([]ScrapingEx, *Spinner)
GetAvailableSitesEx function gets available torrent sites
func GetEnabledSites ¶
func GetEnabledSites(language string) map[string]SiteConfig
GetEnabledSites returns all enabled sites for a language
func GetResponseFromURL ¶
GetResponseFromURL returns *http.Response from url
func PrintDataEx ¶
PrintDataEx function prints scraped data to console
func PrintDoctorStatus ¶
func PrintDoctorStatus(statuses []SiteStatus)
PrintDoctorStatus prints the doctor status in a formatted way
func RemoveNonAscII ¶
RemoveNonAscII remove non-ASCII characters
Types ¶
type Config ¶
type Config struct {
Sites map[string]SiteConfig `json:"sites"`
UserAgent string `json:"user_agent"`
Timeout int `json:"timeout_seconds"`
}
Config holds the application configuration
func LoadConfig ¶
func LoadConfig() *Config
LoadConfig loads the configuration from file or creates default
type ScrapingEx ¶
ScrapingEx interface is for web scraping
type SiteConfig ¶
type SiteConfig struct {
URL string `json:"url"`
Enabled bool `json:"enabled"`
Language string `json:"language"` // "kr" or "jp"
}
SiteConfig holds configuration for a single torrent site
type SiteStatus ¶
type SiteStatus struct {
Name string
URL string
Available bool
Latency time.Duration
Error string
Language string
Enabled bool
}
SiteStatus represents the health status of a site
func Doctor ¶
func Doctor(language string) []SiteStatus
Doctor checks all configured sites and returns their status
type Spinner ¶
type Spinner struct {
// contains filtered or unexported fields
}
Spinner for progress animation
func (*Spinner) StopWithMessage ¶
StopWithMessage stops and prints final message
func (*Spinner) UpdateMessage ¶
UpdateMessage updates the spinner message