49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
|
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"`
|
||
|
}
|