40 lines
779 B
Go
40 lines
779 B
Go
package mandarake
|
|
|
|
import (
|
|
"context"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
const (
|
|
zeroPrice int32 = 0
|
|
taxMultiplier float64 = 1.1
|
|
logHeader = "Mandarake parser | "
|
|
logWorker = "worker: "
|
|
logTaskWarning = "task warning: "
|
|
logGetPrice = "get price: "
|
|
)
|
|
|
|
type Parser struct {
|
|
baseCtx context.Context
|
|
externalBrowser string
|
|
goroutinesNumber int
|
|
}
|
|
|
|
type ParserDeps struct {
|
|
Enabled bool
|
|
ExternalBrowser string
|
|
GoroutinesNumber int
|
|
}
|
|
|
|
func NewParser(deps ParserDeps) *Parser {
|
|
if !deps.Enabled {
|
|
log.Info(logHeader + "disabled")
|
|
return nil
|
|
}
|
|
|
|
return &Parser{
|
|
baseCtx: context.Background(),
|
|
externalBrowser: deps.ExternalBrowser,
|
|
goroutinesNumber: deps.GoroutinesNumber,
|
|
}
|
|
}
|