busdepartures/main.go

49 lines
1.0 KiB
Go

package main
import (
"flag"
"fmt"
"net/http"
"net/url"
)
type Route struct {
RouteShortName string `json:"route_short_name"`
RouteLongName string `json:"route_long_name"`
}
type Quay struct {
ID string `json:"quayid"`
Name string `json:"name"`
Town string `json:"town"`
RoutesOfInterest []Route
}
func (q Quay) IsInterestingDeparture(d Departure) bool {
for _, route := range q.RoutesOfInterest {
if (route.RouteShortName == d.RouteShortName) && (route.RouteLongName == d.StopHeadsign) {
return true
}
}
return false
}
func (q Quay) GetBrengUrl() string {
param := fmt.Sprintf("{\"quayid\":\"%s\",\"name\":\"%s\",\"town\":\"%s\"}", q.ID, q.Name, q.Town)
return fmt.Sprint("https://www.breng.nl/nl/resultaten/halte-informatie/?stop=%s", url.QueryEscape(param))
}
var BusClient *http.Client
var Quays []Quay = []Quay{}
func main() {
var port int
flag.IntVar(&port, "p", 4444, "The port to start the server on")
flag.Parse()
BusClient = &http.Client{}
serveHttp(port)
}