sourcebans

package
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUpdateStop  = errors.New("update stopped")
	ErrUpdateAbort = errors.New("update sequence aborted")
)

Functions

This section is empty.

Types

type HTTPDoExecutor

type HTTPDoExecutor interface {
	Do(req *http.Request) (*http.Response, error)
	SetRate(rate *rate.Limiter)
}

type LastPageDocFunc

type LastPageDocFunc = func(doc *goquery.Document) (int, error)

type ParseDocFunc

type ParseDocFunc = func(doc *goquery.Document) ([]Record, int, error)

type ParseTimeFunc

type ParseTimeFunc func(s string) (time.Time, error)

type Record

type Record struct {
	Name        string
	SteamID     steamid.SteamID
	Reason      string
	CreatedOn   time.Time
	ExpiresOn   time.Time
	Permanent   bool
	Unbanned    bool
	UnbanReason string
}

func (*Record) Expired

func (r *Record) Expired() bool

func (*Record) SetBanLength

func (r *Record) SetBanLength(value string)

func (*Record) SetExpiredOn

func (r *Record) SetExpiredOn(parseTime ParseTimeFunc, value string) error

func (*Record) SetInvokedOn

func (r *Record) SetInvokedOn(parseTime ParseTimeFunc, value string) error

func (*Record) SetPlayer

func (r *Record) SetPlayer(name string)

func (*Record) SetReason

func (r *Record) SetReason(value string)

func (*Record) SetSteam

func (r *Record) SetSteam(value string)

func (*Record) SetUnbanReason

func (r *Record) SetUnbanReason(value string)

type SaveRecordsFunc

type SaveRecordsFunc = func(ctx context.Context, site domain.Site, records []Record) ([]domain.SbBanRecord, error)

type Scraper

type Scraper struct {
	MaxCacheAge time.Duration
	// contains filtered or unexported fields
}

func NewSiteScraper

func NewSiteScraper(cache *client.FilesystemCache, siteContext *SiteContext, save SaveRecordsFunc) Scraper

func (*Scraper) Scrape

func (s *Scraper) Scrape(ctx context.Context) (int, int, error)

type SiteContext

type SiteContext struct {
	Site     domain.Site
	StartURL string

	MaxCacheAge time.Duration
	Client      *client.Client
	Parser      SiteParsers
	// contains filtered or unexported fields
}

func CreateAll

func CreateAll(provider client.ProxyProvider) []*SiteContext

func NewAstraManiaScraper

func NewAstraManiaScraper(provider client.ProxyProvider) *SiteContext

func NewBierwieseScraper

func NewBierwieseScraper(provider client.ProxyProvider) *SiteContext

func NewBioCraftingScraper

func NewBioCraftingScraper(provider client.ProxyProvider) *SiteContext

func NewBlackwonderScraper

func NewBlackwonderScraper(provider client.ProxyProvider) *SiteContext

func NewBouncyBallScraper

func NewBouncyBallScraper(provider client.ProxyProvider) *SiteContext

func NewCSIServersScraper

func NewCSIServersScraper(provider client.ProxyProvider) *SiteContext

func NewCasualFunScraper

func NewCasualFunScraper(provider client.ProxyProvider) *SiteContext

func NewDarkPyroScraper

func NewDarkPyroScraper(provider client.ProxyProvider) *SiteContext

func NewDiscFFScraper

func NewDiscFFScraper(provider client.ProxyProvider) *SiteContext

func NewDixiGameScraper

func NewDixiGameScraper(provider client.ProxyProvider) *SiteContext

func NewDreamFireScraper

func NewDreamFireScraper(provider client.ProxyProvider) *SiteContext

func NewECJScraper

func NewECJScraper(provider client.ProxyProvider) *SiteContext

func NewEOTLGamingScraper

func NewEOTLGamingScraper(provider client.ProxyProvider) *SiteContext

func NewElectricScraper

func NewElectricScraper(provider client.ProxyProvider) *SiteContext

func NewEpicZoneScraper

func NewEpicZoneScraper(provider client.ProxyProvider) *SiteContext

func NewFirePoweredScraper

func NewFirePoweredScraper(provider client.ProxyProvider) *SiteContext

func NewFluxTFScraper

func NewFluxTFScraper(provider client.ProxyProvider) *SiteContext

func NewFurryPoundScraper

func NewFurryPoundScraper(provider client.ProxyProvider) *SiteContext

func NewGameSitesScraper

func NewGameSitesScraper(provider client.ProxyProvider) *SiteContext

func NewGetSomeScraper

func NewGetSomeScraper(provider client.ProxyProvider) *SiteContext

func NewGlobalParadiseScraper

func NewGlobalParadiseScraper(provider client.ProxyProvider) *SiteContext

func NewGunServerScraper

func NewGunServerScraper(provider client.ProxyProvider) *SiteContext

func NewHarpoonScraper

func NewHarpoonScraper(provider client.ProxyProvider) *SiteContext

func NewJumpAcademyScraper

func NewJumpAcademyScraper(provider client.ProxyProvider) *SiteContext

func NewLOOSScraper

func NewLOOSScraper(provider client.ProxyProvider) *SiteContext

func NewLazyNeerScraper

func NewLazyNeerScraper(provider client.ProxyProvider) *SiteContext

func NewLazyPurpleScraper

func NewLazyPurpleScraper(provider client.ProxyProvider) *SiteContext

func NewMaxDBScraper

func NewMaxDBScraper(provider client.ProxyProvider) *SiteContext

func NewMoeVsMachineScraper

func NewMoeVsMachineScraper(provider client.ProxyProvider) *SiteContext

func NewNeonHeightsScraper

func NewNeonHeightsScraper(provider client.ProxyProvider) *SiteContext

func NewNideScraper

func NewNideScraper(provider client.ProxyProvider) *SiteContext

func NewOpstOnlineScraper

func NewOpstOnlineScraper(provider client.ProxyProvider) *SiteContext

func NewOreonScraper

func NewOreonScraper(provider client.ProxyProvider) *SiteContext

func NewOtakuScraper

func NewOtakuScraper(provider client.ProxyProvider) *SiteContext

func NewPandaScraper

func NewPandaScraper(provider client.ProxyProvider) *SiteContext

func NewPetrolTFScraper

func NewPetrolTFScraper(provider client.ProxyProvider) *SiteContext

func NewPrwhScraper

func NewPrwhScraper(provider client.ProxyProvider) *SiteContext

func NewPubsTFScraper

func NewPubsTFScraper(provider client.ProxyProvider) *SiteContext

func NewRetroServersScraper

func NewRetroServersScraper(provider client.ProxyProvider) *SiteContext

func NewRushyScraper

func NewRushyScraper(provider client.ProxyProvider) *SiteContext

func NewSGGamingScraper

func NewSGGamingScraper(provider client.ProxyProvider) *SiteContext

func NewSameTeemScraper

func NewSameTeemScraper(provider client.ProxyProvider) *SiteContext

func NewSavageServidoresScraper

func NewSavageServidoresScraper(provider client.ProxyProvider) *SiteContext

func NewScrapTFScraper

func NewScrapTFScraper(provider client.ProxyProvider) *SiteContext

func NewSirPleaseScraper

func NewSirPleaseScraper(provider client.ProxyProvider) *SiteContext

func NewSkialScraper

func NewSkialScraper(provider client.ProxyProvider) *SiteContext

func NewSneaksScraper

func NewSneaksScraper(provider client.ProxyProvider) *SiteContext

func NewSpaceShipScraper

func NewSpaceShipScraper(provider client.ProxyProvider) *SiteContext

func NewSvdosScraper

func NewSvdosScraper(provider client.ProxyProvider) *SiteContext

func NewSwapShopScraper

func NewSwapShopScraper(provider client.ProxyProvider) *SiteContext

func NewTF2MapsScraper

func NewTF2MapsScraper(provider client.ProxyProvider) *SiteContext

func NewTheVilleScraper

func NewTheVilleScraper(provider client.ProxyProvider) *SiteContext

func NewTitanTFScraper

func NewTitanTFScraper(provider client.ProxyProvider) *SiteContext

func NewTriggerHappyScraper

func NewTriggerHappyScraper(provider client.ProxyProvider) *SiteContext

func NewUGCScraper

func NewUGCScraper(provider client.ProxyProvider) *SiteContext

type SiteParsers

type SiteParsers struct {
	Records  ParseDocFunc
	LastPage LastPageDocFunc
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL