Skip to content
importer.go 693 B
Newer Older
Lo^2's avatar
Lo^2 committed
package main

import (
	"code.electrolab.fr/it/vote.electrolab.fr/app/importer"
	"fmt"
	"os"
Lo^2's avatar
Lo^2 committed
	"path"
Lo^2's avatar
Lo^2 committed
)

func main() {
Lo^2's avatar
Lo^2 committed
	if len(os.Args) != 2 {
Lo^2's avatar
Lo^2 committed
		fmt.Printf("Usage: %s <import_listing.json>\n", path.Base(os.Args[0]))
Lo^2's avatar
Lo^2 committed
		os.Exit(1)
	}

Lo^2's avatar
Lo^2 committed
	if err := Run(); err != nil {
		fmt.Fprintf(os.Stderr, "Fatal error: %s\n", err.Error())
	}
}

func Run() error {
Lo^2's avatar
Lo^2 committed
	config, err := importer.ReadConfigFile("config/config-importer.json")
Lo^2's avatar
Lo^2 committed
	if err != nil {
		return err
	}

Lo^2's avatar
Lo^2 committed
	listing, err := importer.ReadListingFile(os.Args[1])
Lo^2's avatar
Lo^2 committed
	if err != nil {
		return err
	}

	importer, err := importer.NewApp(config)
	if err != nil {
		return err
	}

	err = importer.Run(listing)
	if err != nil {
		return err
	}

	return nil
}