diff --git a/browser.go b/browser.go index 18ff3d5..b6348aa 100644 --- a/browser.go +++ b/browser.go @@ -70,7 +70,7 @@ func pruneStations(stations []stationRecord) []stationRecord { return filteredStations } -func StationSearch(name string, country string, state string, tags string) ([]stationRecord, error) { +func StationSearch(name string, country string, state string, tags string, notok bool) ([]stationRecord, error) { params := url.Values{} if name != ""{ params.Add("name", name) @@ -89,6 +89,9 @@ func StationSearch(name string, country string, state string, tags string) ([]st if err != nil{ return nil, err } + if notok{ + return stations, err + } // otherwise prune the list prunedStations := pruneStations(stations) // eliminate stations that are reporting down. return prunedStations, err } diff --git a/stations.go b/stations.go index cc532f3..0cd52d9 100644 --- a/stations.go +++ b/stations.go @@ -14,11 +14,12 @@ func main(){ country string state string tags string + notok bool ) flag.Usage = func() { fmt.Printf("Usage: \n") fmt.Printf(" gostations ") - fmt.Printf(" [-n \"name\"] [-c \"home country\"] [-s \"home state\"] [-t \"ordered,tag,list\"]\n") + fmt.Printf(" [-n \"name\"] [-c \"home country\"] [-s \"home state\"] [-t \"ordered,tag,list\"] [-x]\n") flag.PrintDefaults() fmt.Printf(" -h (or none)\n") fmt.Printf("\tThis help message\n") @@ -27,17 +28,19 @@ func main(){ flag.StringVar(&country, "c", "", "Home country.") flag.StringVar(&state, "s", "", "Home state (if in the United States).") flag.StringVar(&tags, "t", "", "Tag (or comma-separated tag list)") + flag.BoolVar(¬ok, "x", false,"If toggled, will show stations that are down") flag.Parse() if argCount == 0 { flag.Usage() + os.Exit(0) } - stations, _ := StationSearch(name, country, state, tags) - fmt.Println(len(stations)) + stations, _ := StationSearch(name, country, state, tags, notok) for _, station := range stations { fmt.Printf("%+v\n", station) } + fmt.Println(len(stations)) //mainMenu = RadioMenu(station_list)