krakow_ztp_m.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // SPDX-FileCopyrightText: Adam Evyčędo
  2. //
  3. // SPDX-License-Identifier: AGPL-3.0-or-later
  4. package traffic
  5. import (
  6. "apiote.xyz/p/szczanieckiej/transformers"
  7. "time"
  8. "golang.org/x/text/transform"
  9. )
  10. type KrakowZtpM struct{}
  11. func (KrakowZtpM) getTimezone() *time.Location {
  12. l, _ := time.LoadLocation("Europe/Warsaw")
  13. return l
  14. }
  15. func (KrakowZtpM) ConvertVehicles() ([]Vehicle, error) {
  16. return []Vehicle{}, nil
  17. }
  18. func (f KrakowZtpM) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
  19. startDate := time.Date(date.Year(), date.Month(), date.Day(), 0, 0, 0, 0, timezone)
  20. endDate := time.Date(date.Year(), date.Month(), date.Day(), 23, 59, 59, 0, timezone)
  21. v := Version{
  22. Link: "https://gtfs.ztp.krakow.pl/GTFS_KRK_M.zip",
  23. ValidFrom: startDate,
  24. ValidTill: endDate,
  25. }
  26. return []Version{v}, nil
  27. }
  28. func (KrakowZtpM) RealtimeFeeds() map[RealtimeFeedType]string {
  29. return map[RealtimeFeedType]string{
  30. ALERTS: "https://gtfs.ztp.krakow.pl/ServiceAlerts_M.pb",
  31. TRIP_UPDATES: "https://gtfs.ztp.krakow.pl/TripUpdates_M.pb",
  32. VEHICLE_POSITIONS: "https://gtfs.ztp.krakow.pl/VehiclePositions_M.pb",
  33. }
  34. }
  35. func (KrakowZtpM) String() string {
  36. return "krakow_ztp_m"
  37. }
  38. func (z KrakowZtpM) Transformer() transform.Transformer {
  39. return transformers.TransformerPL
  40. }
  41. func (z KrakowZtpM) Name() string {
  42. return "ZTP Kraków Mobilis"
  43. }
  44. func (z KrakowZtpM) Flags() FeedFlags {
  45. return FeedFlags{
  46. Headsign: HeadsignTripHeadsing,
  47. StopIdFormat: "{{stop_id}}",
  48. StopName: "{{stop_name}}",
  49. LineName: "{{route_short_name}}",
  50. }
  51. }
  52. func (z KrakowZtpM) FeedPrepareZip(path string) error {
  53. return nil
  54. }
  55. func (z KrakowZtpM) QRInfo() (string, QRLocation, string) {
  56. return "", QRLocationNone, ""
  57. }