Include types from gonavitia/navitia
This commit is contained in:
parent
82769f923e
commit
24b1102761
157 changed files with 26062 additions and 116 deletions
70
types/misc.go
Normal file
70
types/misc.go
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
package types
|
||||
|
||||
import (
|
||||
"image/color"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// DataFreshness codes for a specific data freshness requirement: realtime or base_schedule
|
||||
type DataFreshness string
|
||||
|
||||
// parseColor, given a hex code #RRGGBB returns a color.NRGBA
|
||||
func parseColor(str string) (color.NRGBA, error) {
|
||||
var clr color.NRGBA
|
||||
|
||||
if len(str) != 6 {
|
||||
return clr, errors.Errorf("parseColor: can't parse, invalid length (len=%d instead of 6)", len(str))
|
||||
}
|
||||
|
||||
r, err := strconv.ParseUint(str[:2], 16, 8)
|
||||
if err != nil {
|
||||
return clr, errors.Wrapf(err, "parseColor: red component parsing failed (str: %s)", str[:2])
|
||||
}
|
||||
g, err := strconv.ParseUint(str[2:4], 16, 8)
|
||||
if err != nil {
|
||||
return clr, errors.Wrapf(err, "parseColor: green component parsing failed (str: %s)", str[2:4])
|
||||
}
|
||||
b, err := strconv.ParseUint(str[4:], 16, 8)
|
||||
if err != nil {
|
||||
return clr, errors.Wrapf(err, "parseColor: blue component parsing failed (str: %s)", str[4:])
|
||||
}
|
||||
|
||||
return color.NRGBA{
|
||||
R: uint8(r),
|
||||
G: uint8(g),
|
||||
B: uint8(b),
|
||||
}, nil
|
||||
}
|
||||
|
||||
const (
|
||||
// DataFreshnessRealTime means you'll get undisrupted journeys
|
||||
DataFreshnessRealTime DataFreshness = "realtime"
|
||||
// DataFreshnessBaseSchedule means you can get disrupted journeys in the response.
|
||||
DataFreshnessBaseSchedule = "base_schedule"
|
||||
)
|
||||
|
||||
// A PTDateTime (pt stands for “public transport”) is a complex date time object to manage the difference between stop and leaving times at a stop.
|
||||
// It is used by:
|
||||
// - Row in Schedule
|
||||
// - StopSchedule
|
||||
// - StopDatetime
|
||||
type PTDateTime struct {
|
||||
// Date/Time of departure
|
||||
Departure time.Time `json:"departure"`
|
||||
|
||||
// Date/Time of arrival
|
||||
Arrival time.Time `json:"arrival"`
|
||||
}
|
||||
|
||||
// A Code is associated to a dataset
|
||||
//
|
||||
// Every object managed by Navitia comes with its own list of ids.
|
||||
// You will find some source ids, merge ids, etc. in “codes” list in json responses.
|
||||
// Be careful, these codes may not be unique. The navitia id is the only unique id.
|
||||
type Code struct {
|
||||
Type string `json:"type"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue