Define global default value at initialisation

This commit is contained in:
nemunaire 2017-11-25 16:05:03 +01:00 committed by Pierre-Olivier Mercier
commit cd5a9d06ea
9 changed files with 31 additions and 33 deletions

View file

@ -17,7 +17,7 @@ func main() {
var bind = flag.String("bind", "127.0.0.1:8080", "Bind port/socket")
var prefix = flag.String("prefix", "/", "Request path prefix to strip (from proxy)")
var teamsDir = flag.String("teams", "./TEAMS/", "Base directory where find existing teams")
flag.StringVar(&SettingsDir, "settings", "./SETTINGS/", "Base directory where load and save settings")
flag.StringVar(&settings.SettingsDir, "settings", settings.SettingsDir, "Base directory where load and save settings")
flag.StringVar(&SubmissionDir, "submission", "./submissions/", "Base directory where save submissions")
flag.Parse()
@ -36,7 +36,7 @@ func main() {
*prefix = strings.TrimRight(*prefix, "/")
// Load configuration
settings.LoadAndWatchSettings(path.Join(SettingsDir, settings.SettingsFile), reloadSettings)
settings.LoadAndWatchSettings(path.Join(settings.SettingsDir, settings.SettingsFile), reloadSettings)
// Register handlers
http.Handle(fmt.Sprintf("%s/chname/", *prefix), http.StripPrefix(fmt.Sprintf("%s/chname/", *prefix), submissionTeamChecker{"name change", ChNameHandler, *teamsDir}))

View file

@ -12,12 +12,10 @@ import (
const startedFile = "started"
var SettingsDir string
var touchTimer *time.Timer = nil
func touchStartedFile() {
if fd, err := os.Create(path.Join(SettingsDir, startedFile)); err == nil {
if fd, err := os.Create(path.Join(settings.SettingsDir, startedFile)); err == nil {
log.Println("Started! Go, Go, Go!!")
fd.Close()
} else {
@ -34,8 +32,8 @@ func reloadSettings(config settings.FICSettings) {
if startSub > 0 {
log.Println("Challenge will starts at", config.Start, "in", startSub)
if _, err := os.Stat(path.Join(SettingsDir, startedFile)); !os.IsNotExist(err) {
os.Remove(path.Join(SettingsDir, startedFile))
if _, err := os.Stat(path.Join(settings.SettingsDir, startedFile)); !os.IsNotExist(err) {
os.Remove(path.Join(settings.SettingsDir, startedFile))
}
touchTimer = time.AfterFunc(config.Start.Sub(time.Now().Add(time.Duration(1 * time.Second))), touchStartedFile)