func read_data()

in menuvalidator/main.go [23:45]


func read_data(filename string) []MenuEntry {
	file, openErr := os.Open(filename)
	if openErr != nil {
		fmt.Printf("Could not open file '%s': %s\n", filename, openErr)
		os.Exit(1)
	}
	defer file.Close()

	rawContent, readErr := ioutil.ReadAll(file)
	if readErr != nil {
		fmt.Printf("Could not read file '%s': %s\n", filename, readErr)
		os.Exit(1)
	}

	var entries []MenuEntry
	marshalErr := json.Unmarshal(rawContent, &entries)

	if marshalErr != nil {
		fmt.Printf("Menu from '%s' is not valid: %s\n", filename, marshalErr)
		os.Exit(1)
	}
	return entries
}