g2g/config.go

49 lines
1.3 KiB
Go
Raw Normal View History

2019-10-12 10:08:05 +02:00
package main
import (
"flag"
"time"
"gopkg.in/ini.v1"
)
// GetConfig fetch configuration
func (config *Config) GetConfig() error {
var configfile string
flag.Usage = Usage
flag.StringVar(&configfile, "configfile", "g2g.ini", "config file to use with g2g section")
flag.Parse()
cfg, err := ini.Load(configfile)
if err != nil {
return err
}
g2gsection := cfg.Section("g2g")
g2gsection.MapTo(config)
return err
}
// Config is the global config of g2g
type Config struct {
G2gRequestTimeout time.Duration `ini:"g2g_request_timeout"`
G2gThreads int `ini:"g2g_threads"`
GitHubMaxPerPage int `ini:"github_max_per_page"`
GitHubPageNum int `ini:"github_page_num"`
GitHubAuthUsername string `ini:"github_auth_username"`
GitHubAuthPassword string `ini:"github_auth_password"`
GitHubContentType string
GiteaUID int
GiteaUsername string `ini:"gitea_username"`
GiteaDestUsername string `ini:"gitea_dest_username"`
GiteaRepoURLTmpl string `ini:"gitea_repo_url_tmpl"`
GiteaOrgsURLTmpl string `ini:"gitea_orgs_url_tmpl"`
GiteaMigrateURL string `ini:"gitea_migrate_url"`
GiteaAuthToken string `ini:"gitea_auth_token"`
GiteaContentType string
GiteaMirror bool `ini:"gitea_mirror"`
}