2025-12-26 16:19:09 +03:00
|
|
|
package mandarake
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
zeroPrice int32 = 0
|
|
|
|
|
taxMultiplier float64 = 1.1
|
2026-02-28 10:53:02 +03:00
|
|
|
logHeader = "Mandarake parser |"
|
|
|
|
|
logWorker = "worker:"
|
|
|
|
|
logTaskWarning = "task warning:"
|
|
|
|
|
logGetPrice = "get price:"
|
2025-12-26 16:19:09 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Parser struct {
|
|
|
|
|
externalBrowser string
|
|
|
|
|
goroutinesNumber int
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-28 10:53:02 +03:00
|
|
|
type Deps struct {
|
2025-12-26 16:19:09 +03:00
|
|
|
Enabled bool
|
|
|
|
|
ExternalBrowser string
|
|
|
|
|
GoroutinesNumber int
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-28 10:53:02 +03:00
|
|
|
func NewParser(deps Deps) *Parser {
|
2025-12-26 16:19:09 +03:00
|
|
|
if !deps.Enabled {
|
|
|
|
|
log.Info(logHeader + "disabled")
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &Parser{
|
|
|
|
|
externalBrowser: deps.ExternalBrowser,
|
|
|
|
|
goroutinesNumber: deps.GoroutinesNumber,
|
|
|
|
|
}
|
|
|
|
|
}
|