package main import ( "flag" "fmt" "net/http" "os" ) var base_link string var base_aplus_link string var external_tools_code int var token string var client http.Client func usage() { fmt.Println("Usage: aplus [--code attendance_code --course course_code] [--list] [--listfav] [--help]") } func main() { initialize() var code string var course int var listall bool var listfav bool var help bool flag.StringVar(&code, "code", "", "5 character attendance code") flag.StringVar(&code, "c", "", "5 character attendance code") flag.IntVar(&course, "course", -1, "canvas course code") flag.IntVar(&course, "C", -1, "canvas course code") flag.BoolVar(&listall, "list", false, "list all canvas courses") flag.BoolVar(&listall, "L", false, "list all canvas courses") flag.BoolVar(&listfav, "listfav", false, "list favorited canvas courses") flag.BoolVar(&listfav, "F", false, "list favorited canvas courses") flag.BoolVar(&help, "help", false, "view usage message") flag.BoolVar(&help, "h", false, "view usage message") flag.Parse() if (code == "" && course == -1 && !listall && !listfav) { usage() os.Exit(1) } if (listall) { list_all_courses() os.Exit(0) } if (listfav) { list_favorite_courses() os.Exit(0) } if (help) { usage() os.Exit(0) } if (len(code) != 5) { fmt.Println("Attendance code must be 5 characters long") os.Exit(1) } if code != "" && course != -1 { fmt.Printf("%d %s\n", course, code) submit_code(course, code) } else { usage() os.Exit(1) } }