1

Add fetcher, support for downloading forum pages

This commit is contained in:
2019-09-28 19:59:02 +04:00
parent 52fad7cf47
commit a504299150
11 changed files with 260 additions and 15 deletions

View File

@@ -30,14 +30,14 @@ func (c *Context) getMemoryUsage(e *zerolog.Event, level zerolog.Level, message
// initFlagger initializes flags parser
func (c *Context) initFlagger() {
c.Flagger = flagger.New("NNM-Club mass torrent files downloader", flagger.LoggerInterface(log.New(os.Stdout, "", log.Lshortfile)))
c.Flagger = flagger.New("NNM-Club Uploader Tools", flagger.LoggerInterface(log.New(os.Stdout, "", log.Lshortfile)))
c.Flagger.Initialize()
}
func (c *Context) readConfig() {
fh, err := os.Open(c.configFilePath)
if err != nil {
dlog.Fatal().Err(err).Msg("Failed to read config file")
dlog.Fatal().Err(err).Msg("Ошибка чтения конфигурации")
}
defer fh.Close()
@@ -45,7 +45,7 @@ func (c *Context) readConfig() {
decoder := json.NewDecoder(fh)
err = decoder.Decode(&c.Config)
if err != nil {
dlog.Fatal().Err(err).Msg("Failed to decode config")
dlog.Fatal().Err(err).Msg("Ошибка декодирования конфигурации")
}
}
@@ -57,28 +57,28 @@ func (c *Context) Init() {
c.Logger = zerolog.New(zerolog.ConsoleWriter{Out: os.Stdout}).With().Timestamp().Logger()
c.Logger = c.Logger.Hook(zerolog.HookFunc(c.getMemoryUsage))
dlog = c.Logger.With().Str("domain", "context").Logger()
dlog = c.Logger.With().Str("модуль", "context").Logger()
}
func (c *Context) InitConfig() {
configPath := configdir.LocalConfig("uploader_tools")
err := configdir.MakePath(configPath)
if err != nil {
dlog.Fatal().Err(err).Str("config directory", configPath).Msg("Failed to obtain config path")
dlog.Fatal().Err(err).Str("директория с конфигурационным файлом", configPath).Msg("Не получилось создать или обнаружить директорию для конфигурационных файлов")
}
dlog.Debug().Str("config directory", configPath).Msg("Got config directory")
dlog.Debug().Str("директория с конфигурационным файлом", configPath).Msg("Найдена директория с конфигурационным файлом")
configFile := filepath.Join(configPath, "settings.json")
c.configFilePath = configFile
if _, err = os.Stat(configFile); os.IsNotExist(err) {
// Generating new config on first run
dlog.Debug().Msg("Generating new config")
dlog.Debug().Msg("Генерируется новый конфигурационный файл")
c.SaveConfig()
} else {
dlog.Debug().Msg("Using existing config")
dlog.Debug().Msg("Используется существующий конфигурационный файл")
c.readConfig()
}
@@ -87,14 +87,14 @@ func (c *Context) InitConfig() {
func (c *Context) SaveConfig() {
fh, err := os.Create(c.configFilePath)
if err != nil {
dlog.Fatal().Err(err).Msg("Failed to create config file")
dlog.Fatal().Err(err).Msg("Не удалось создать файл конфигурации")
}
defer fh.Close()
encoder := json.NewEncoder(fh)
err = encoder.Encode(&c.Config)
if err != nil {
dlog.Fatal().Err(err).Msg("Failed to encode config")
dlog.Fatal().Err(err).Msg("Не удалось записать файл конфигурации")
}
}

View File

@@ -8,8 +8,9 @@ import (
"net/http"
"github.com/rs/zerolog"
"gitlab.com/fat0troll/uploader_tools/internal/config"
"gitlab.com/pztrn/flagger"
"gitlab.com/fat0troll/uploader_tools/internal/config"
)
var (