Author: Adam Evyčędo <git@apiote.xyz>
handle 3-digit colours and no colours for routes
traffic/convert.go | 23 ++++++++++++++---------
diff --git a/traffic/convert.go b/traffic/convert.go index 78fa2726a0bbb409a77801e23743a5c6ea67f4b7..43a7a712a5def91777d104a7aafdcba483fa3ada 100644 --- a/traffic/convert.go +++ b/traffic/convert.go @@ -155,9 +155,17 @@ default: return 0 } } - colour.R = hexToByte(hex[0])<<4 + hexToByte(hex[1]) - colour.G = hexToByte(hex[2])<<4 + hexToByte(hex[3]) - colour.B = hexToByte(hex[4])<<4 + hexToByte(hex[5]) + switch len(hex) { + case 6: + colour.R = hexToByte(hex[0])<<4 + hexToByte(hex[1]) + colour.G = hexToByte(hex[2])<<4 + hexToByte(hex[3]) + colour.B = hexToByte(hex[4])<<4 + hexToByte(hex[5]) + case 3: + colour.R = hexToByte(hex[0])<<4 + hexToByte(hex[0]) + colour.G = hexToByte(hex[1])<<4 + hexToByte(hex[1]) + colour.B = hexToByte(hex[2])<<4 + hexToByte(hex[2]) + } + return colour } @@ -1259,12 +1267,9 @@ lineName = strings.Replace(lineName, "{{"+template+"}}", record[fields[template]], -1) } var kind uint fmt.Sscanf(record[fields["route_type"]], "%d", &kind) - var ( - colour string = record[fields["route_color"]] - ) - - if colour == "" { - colour = "ffffff" + colour := "ffffff" + if colourIx, ok := fields["route_color"]; ok && record[colourIx] != "" { + colour = record[colourIx] } directions := []uint{}