// NNM-Club torrent filess mass downloader
// Created for Uploaders group
// Copyright (c) 2012-2019 Vladimir "fat0troll" Hodakov

package main

import (
	"fmt"
	"runtime/debug"

	fetcherv1 "gitlab.com/fat0troll/uploader_tools/domains/fetcher/v1"
	loginerv1 "gitlab.com/fat0troll/uploader_tools/domains/loginer/v1"
	"gitlab.com/fat0troll/uploader_tools/internal/context"
)

// In production builds these variables are set by goreleaser
var (
	version = "master"
	commit  = "?"
	date    = ""
)

//nolint:gochecknoinits
func init() {
	if info, available := debug.ReadBuildInfo(); available {
		if date == "" && info.Main.Version != "(devel)" {
			version = info.Main.Version
			commit = fmt.Sprintf("(unknown, mod sum: %q)", info.Main.Sum)
			date = "(unknown)"
		}
	}
}

func main() {
	c := context.New()
	c.Init()
	c.Logger.Info().Str("версия", version).Str("коммит", commit).Str("дата сборки", date).
		Msg("Загрузчик торрентов из разделов NNM-Club начинает свою работу")
	c.InitConfig()

	loginerv1.New(c)
	fetcherv1.New(c)

	c.Flagger.Parse()

	loginerv1.Process()
	fetcherv1.Process()
}