mandarake parser rework
All checks were successful
/ Make image (push) Successful in 39s

This commit is contained in:
nquidox 2025-12-26 16:19:09 +03:00
parent d63d345a9b
commit e48160dfa3
8 changed files with 243 additions and 390 deletions

View file

@ -7,11 +7,13 @@ import (
)
type Config struct {
LogLevel string
NumCPUs int
CheckPeriod int
TasksCfg TasksConfig
GrpcCfg GrpcConfig
LogLevel string
NumCPUs int
CheckPeriod int
TasksCfg TasksConfig
GrpcCfg GrpcConfig
OriginEnabled OriginEnabled
ExternalBrowser string
}
type GrpcConfig struct {
@ -28,11 +30,18 @@ type TasksConfig struct {
RetryMinutes int
}
type OriginEnabled struct {
Surugaya bool
Mandarake bool
Amiami bool
}
func NewConfig() *Config {
return &Config{
LogLevel: getEnv("APP_LOG_LEVEL", "debug"),
NumCPUs: getEnvInt("APP_NUMCPUS", -1),
CheckPeriod: getEnvInt("APP_CHECK_PERIOD", 6),
LogLevel: getEnv("APP_LOG_LEVEL", "debug"),
NumCPUs: getEnvInt("APP_NUMCPUS", -1),
CheckPeriod: getEnvInt("APP_CHECK_PERIOD", 6),
ExternalBrowser: getEnv("EXTERNAL_BROWSER", ""),
GrpcCfg: GrpcConfig{
ServerHost: getEnv("GRPC_SERVER_HOST", "0.0.0.0"),
@ -47,6 +56,12 @@ func NewConfig() *Config {
RetryCount: getEnvInt("TASK_RETRY_COUNT", 3),
RetryMinutes: getEnvInt("TASK_RETRY_MINUTES", 5),
},
OriginEnabled: OriginEnabled{
Surugaya: getEnvBool("ORIGIN_SURUGAYA_ENABLED", false),
Mandarake: getEnvBool("ORIGIN_MANDARAKE_ENABLED", false),
Amiami: getEnvBool("ORIGIN_AMIAMI_ENABLED", false),
},
}
}
@ -68,3 +83,15 @@ func getEnvInt(key string, fallback int) int {
}
return fallback
}
func getEnvBool(key string, fallback bool) bool {
if value, ok := os.LookupEnv(key); ok {
val, err := strconv.ParseBool(value)
if err != nil {
log.WithField("default", false).Warn("Config | Can't parse value as bool")
return fallback
}
return val
}
return fallback
}