szczanieckiej.git

commit e02ce1ac1e829e4510b5294d3b1193354fa799f5

Author: Adam Evyčędo <git@apiote.xyz>

unify feed IDs

 traffic/berlin_vbb.go | 26 ++++++++++++++------------
 traffic/brussels_stib_mivb.go | 24 ++++++++++++------------
 traffic/feeds.go | 8 ++++----
 traffic/gzm_ztm.go | 19 +++++++++----------
 traffic/krakow_ztp.go | 28 ++++++++++++++--------------
 traffic/poznan_ztm.go | 24 ++++++++++++------------


diff --git a/traffic/berlin_vbb.go b/traffic/berlin_vbb.go
index 0c8f6ac6cd00c9fce3459cb229e7be5f18b86f2d..a0e3a4da433a73812b26a0c8eeeb4cee50c5fa50 100644
--- a/traffic/berlin_vbb.go
+++ b/traffic/berlin_vbb.go
@@ -17,20 +17,20 @@
 	"golang.org/x/text/transform"
 )
 
-type VbbBerlin struct {
+type BerlinVbb struct {
 	client http.Client
 }
 
-func (VbbBerlin) getTimezone() *time.Location {
+func (BerlinVbb) getTimezone() *time.Location {
 	l, _ := time.LoadLocation("Europe/Berlin")
 	return l
 }
 
-func (VbbBerlin) ConvertVehicles() ([]Vehicle, error) {
+func (BerlinVbb) ConvertVehicles() ([]Vehicle, error) {
 	return []Vehicle{}, nil
 }
 
-func (z VbbBerlin) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
+func (BerlinVbb) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
 	versions := []Version{}
 	version, err := MakeVersionTimezone("00010101_99991231", timezone)
 	if err != nil {
@@ -41,15 +41,15 @@ 	versions = append(versions, version)
 	return versions, nil
 }
 
-func (z VbbBerlin) String() string {
+func (BerlinVbb) String() string {
 	return "berlin_vbb"
 }
 
-func (z VbbBerlin) RealtimeFeeds() map[RealtimeFeedType]string {
+func (BerlinVbb) RealtimeFeeds() map[RealtimeFeedType]string {
 	return map[RealtimeFeedType]string{}
 }
 
-func (z VbbBerlin) LuaUpdatesScript(config.Auth) string {
+func (BerlinVbb) LuaUpdatesScript(config.Auth) string {
 	return `
 		function getUpdates(tripID, sequence)
 			local http = require("http")
@@ -62,15 +62,15 @@ 		end
 	`
 }
 
-func (z VbbBerlin) Transformer() transform.Transformer {
+func (BerlinVbb) Transformer() transform.Transformer {
 	return transform.Chain(transformers.TransformerDE, transformers.TransformerPL, transformers.TransformerFR)
 }
 
-func (z VbbBerlin) Name() string {
+func (BerlinVbb) Name() string {
 	return "Berlin/Brandenburg VBB"
 }
 
-func (z VbbBerlin) Flags() FeedFlags {
+func (BerlinVbb) Flags() FeedFlags {
 	return FeedFlags{
 		Headsign:     HeadsignTripHeadsing,
 		StopIdFormat: "{{stop_id}}",
@@ -79,7 +79,9 @@ 		LineName:     "{{route_short_name}}",
 	}
 }
 
-func (z VbbBerlin) FeedPrepareZip(path string) error {
+func (BerlinVbb) FeedPrepareZip(path string) error {
+	// TODO remove or fix zones
+
 	// NOTE add platform codes from stop_id
 	stopsFile, err := os.Open(filepath.Join(path, "stops.txt"))
 	if err != nil {
@@ -204,6 +206,6 @@ 	}
 	return nil
 }
 
-func (z VbbBerlin) QRInfo() (string, QRLocation, string) {
+func (BerlinVbb) QRInfo() (string, QRLocation, string) {
 	return "qr.bvg.de", QRLocationPath, "/(?<SEL>.*)"
 }




diff --git a/traffic/brussels_stib_mivb.go b/traffic/brussels_stib_mivb.go
index 87d17092228fbbda97513539c5317805abcf8705..05f62f4528788ec01d76b774f71225ea34e6ee1a 100644
--- a/traffic/brussels_stib_mivb.go
+++ b/traffic/brussels_stib_mivb.go
@@ -16,20 +16,20 @@ 	"golang.org/x/text/transform"
 	"golang.org/x/tools/blog/atom"
 )
 
-type StibMivbBrussels struct {
+type BrusselsStibMivb struct {
 	client http.Client
 }
 
-func (StibMivbBrussels) getTimezone() *time.Location {
+func (BrusselsStibMivb) getTimezone() *time.Location {
 	l, _ := time.LoadLocation("Europe/Brussels")
 	return l
 }
 
-func (StibMivbBrussels) ConvertVehicles() ([]Vehicle, error) {
+func (BrusselsStibMivb) ConvertVehicles() ([]Vehicle, error) {
 	return []Vehicle{}, nil
 }
 
-func (z StibMivbBrussels) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
+func (z BrusselsStibMivb) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
 	url := "https://stibmivb.opendatasoft.com/explore/dataset/gtfs-files-production/atom/"
 	response, err := z.client.Get(url)
 	if err != nil {
@@ -51,15 +51,15 @@ 	versions := []Version{version}
 	return versions, nil
 }
 
-func (z StibMivbBrussels) String() string {
+func (BrusselsStibMivb) String() string {
 	return "brussels_stib_mivb"
 }
 
-func (z StibMivbBrussels) RealtimeFeeds() map[RealtimeFeedType]string {
+func (BrusselsStibMivb) RealtimeFeeds() map[RealtimeFeedType]string {
 	return map[RealtimeFeedType]string{}
 }
 
-func (z StibMivbBrussels) LuaUpdatesScript(auth config.Auth) string {
+func (BrusselsStibMivb) LuaUpdatesScript(auth config.Auth) string {
 	return `
 		function getUpdates(tripID, sequence, stopID)
 			local http = require("http")
@@ -120,15 +120,15 @@ 		end
 	`
 }
 
-func (z StibMivbBrussels) Transformer() transform.Transformer {
+func (BrusselsStibMivb) Transformer() transform.Transformer {
 	return transform.Chain(transformers.TransformerFR, transformers.TransformerNL)
 }
 
-func (z StibMivbBrussels) Name() string {
+func (BrusselsStibMivb) Name() string {
 	return "Brussels STIB-MIVB"
 }
 
-func (z StibMivbBrussels) Flags() FeedFlags {
+func (BrusselsStibMivb) Flags() FeedFlags {
 	return FeedFlags{
 		Headsign:     HeadsignTripHeadsing,
 		StopIdFormat: "{{stop_id}}",
@@ -137,7 +137,7 @@ 		LineName:     "{{route_short_name}}",
 	}
 }
 
-func (z StibMivbBrussels) FeedPrepareZip(path string) error {
+func (BrusselsStibMivb) FeedPrepareZip(path string) error {
 	// add feed info
 	feedInfoFile, err := os.OpenFile(filepath.Join(path, "feed_info.txt"), os.O_RDWR|os.O_CREATE, 0644)
 	if err != nil {
@@ -157,6 +157,6 @@ 	w.Flush()
 	return nil
 }
 
-func (z StibMivbBrussels) QRInfo() (string, QRLocation, string) {
+func (BrusselsStibMivb) QRInfo() (string, QRLocation, string) {
 	return "", QRLocationNone, ""
 }




diff --git a/traffic/feeds.go b/traffic/feeds.go
index 2fff8174fb578beebb06caf581e83a4af55fb9cd..1595b7c3850146216afbc4b8223c5a19100ce2d4 100644
--- a/traffic/feeds.go
+++ b/traffic/feeds.go
@@ -48,15 +48,15 @@ }
 
 func RegisterFeeds() map[string]Feed {
 	return map[string]Feed{
-		"poznan_ztm": ZtmPoznan{
+		"poznan_ztm": PoznanZtm{
 			client: http.Client{
 				Timeout: 30 * time.Second,
 			},
 		},
-		"krakow_ztp":         ZtpKrakow{},
+		// "krakow_ztp":         KrakowZtp{},
 		"gzm_ztm":            GzmZtm{},
-		"berlin_vbb":         VbbBerlin{},
-		"brussels_stib_mivb": StibMivbBrussels{},
+		"berlin_vbb":         BerlinVbb{},
+		"brussels_stib_mivb": BrusselsStibMivb{},
 	}
 }
 




diff --git a/traffic/gzm_ztm.go b/traffic/gzm_ztm.go
index 9259c7a153c048601fc37c933c5a5c861b377f0c..61c3e374db2e4a01d215013a1f10b7f0af1aa4fb 100644
--- a/traffic/gzm_ztm.go
+++ b/traffic/gzm_ztm.go
@@ -26,7 +26,7 @@ 	l, _ := time.LoadLocation("Europe/Warsaw")
 	return l
 }
 
-func (z GzmZtm) ConvertVehicles() ([]Vehicle, error) {
+func (GzmZtm) ConvertVehicles() ([]Vehicle, error) {
 	return []Vehicle{}, nil
 }
 
@@ -56,31 +56,30 @@ 	}
 	return versions, nil
 }
 
-func (z GzmZtm) String() string {
+func (GzmZtm) String() string {
 	return "gzm_ztm"
 }
 
-func (z GzmZtm) RealtimeFeeds() map[RealtimeFeedType]string {
+func (GzmZtm) RealtimeFeeds() map[RealtimeFeedType]string {
 	return map[RealtimeFeedType]string{
 		TRIP_UPDATES:      "http://gtfsrt.metropoliagzm.pl:1111/gtfsrt/gzm/all",
 		VEHICLE_POSITIONS: "http://gtfsrt.metropoliagzm.pl:1111/gtfsrt/gzm/all",
 	}
-	// return map[RealtimeFeedType]string{}
 }
 
-func (z GzmZtm) LuaUpdatesScript(config.Auth) string {
+func (GzmZtm) LuaUpdatesScript(config.Auth) string {
 	return ""
 }
 
-func (z GzmZtm) Transformer() transform.Transformer {
+func (GzmZtm) Transformer() transform.Transformer {
 	return transformers.TransformerPL
 }
 
-func (z GzmZtm) Name() string {
+func (GzmZtm) Name() string {
 	return "Metropolia GZM ZTM"
 }
 
-func (z GzmZtm) Flags() FeedFlags {
+func (GzmZtm) Flags() FeedFlags {
 	return FeedFlags{
 		Headsign:     HeadsignTripLastStop,
 		StopIdFormat: "{{stop_id}}",
@@ -89,7 +88,7 @@ 		LineName:     "{{route_long_name}}",
 	}
 }
 
-func (z GzmZtm) FeedPrepareZip(path string) error {
+func (GzmZtm) FeedPrepareZip(path string) error {
 	// rename stops_ext to stops
 	err := os.Remove(filepath.Join(path, "stops.txt"))
 	if err != nil {
@@ -252,6 +251,6 @@ 	}
 	return nil
 }
 
-func (z GzmZtm) QRInfo() (string, QRLocation, string) {
+func (GzmZtm) QRInfo() (string, QRLocation, string) {
 	return "rj.metropoliaztm.pl", QRLocationPath, "/redir/stop/(?<stop>[^/]+)"
 }




diff --git a/traffic/krakow_ztp.go b/traffic/krakow_ztp.go
index dc24dfae75ca5b1e0fc90b11e8516640ea013e77..84b7fedd9e3e7a76b8923f4bec3a88899303fcee 100644
--- a/traffic/krakow_ztp.go
+++ b/traffic/krakow_ztp.go
@@ -10,18 +10,18 @@ 	"golang.org/x/text/language"
 	"golang.org/x/text/transform"
 )
 
-type ZtpKrakow struct{}
+type KrakowZtp struct{}
 
-func (ZtpKrakow) getTimezone() *time.Location {
+func (KrakowZtp) getTimezone() *time.Location {
 	l, _ := time.LoadLocation("Europe/Warsaw")
 	return l
 }
 
-func (ZtpKrakow) ConvertVehicles() ([]Vehicle, error) {
+func (KrakowZtp) ConvertVehicles() ([]Vehicle, error) {
 	return []Vehicle{}, nil
 }
 
-func (f ZtpKrakow) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
+func (f KrakowZtp) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
 	startDate := time.Date(date.Year(), date.Month(), date.Day(), 0, 0, 0, 0, timezone)
 	endDate := time.Date(date.Year(), date.Month(), date.Day(), 23, 59, 59, 0, timezone)
 	v := Version{
@@ -33,7 +33,7 @@ 	// https://gtfs.ztp.krakow.pl/GTFS_KRK_T.zip
 	return []Version{v}, nil
 }
 
-func (ZtpKrakow) RealtimeFeeds() map[RealtimeFeedType]string {
+func (KrakowZtp) RealtimeFeeds() map[RealtimeFeedType]string {
 	return map[RealtimeFeedType]string{
 		ALERTS:       "https://gtfs.ztp.krakow.pl/ServiceAlerts_A.pb",
 		TRIP_UPDATES: "https://gtfs.ztp.krakow.pl/TripUpdates_A.pb",
@@ -43,23 +43,23 @@ 		//"https://gtfs.ztp.krakow.pl/VehiclePositions_T.pb",
 	}
 }
 
-func (ZtpKrakow) LuaUpdatesScript(c config.Config) string {
+func (KrakowZtp) LuaUpdatesScript(c config.Config) string {
 	return ""
 }
 
-func (ZtpKrakow) String() string {
+func (KrakowZtp) String() string {
 	return "krakow_ztp"
 }
 
-func (z ZtpKrakow) Transformer() transform.Transformer {
+func (z KrakowZtp) Transformer() transform.Transformer {
 	return transformers.TransformerPL
 }
 
-func (z ZtpKrakow) Name() string {
+func (z KrakowZtp) Name() string {
 	return "ZTP Kraków"
 }
 
-func (z ZtpKrakow) Attribution() map[language.Tag]string {
+func (z KrakowZtp) Attribution() map[language.Tag]string {
 	return map[language.Tag]string{
 		language.Und:     "GTFS files downloaded from https://gtfs.ztp.krakow.pl/ and converted to TRAFFIC",
 		language.English: "GTFS files downloaded from https://gtfs.ztp.krakow.pl/ and converted to TRAFFIC",
@@ -67,7 +67,7 @@ 		language.Polish:  "Pliki GTFS pobrane z https://gtfs.ztp.krakow.pl/ przekonwertowane do formatu TRAFFIC",
 	}
 }
 
-func (z ZtpKrakow) Description() map[language.Tag]string {
+func (z KrakowZtp) Description() map[language.Tag]string {
 	return map[language.Tag]string{
 		language.Und:             "Buses timetable for Kraków public transport organised by Zarząd Transportu Publicznego (ZTP)",
 		language.English:         "Buses timetable for Kraków public transport organised by Zarząd Transportu Publicznego (ZTP)",
@@ -77,7 +77,7 @@ 		language.Polish:          "Rozkład jazdy autobusów krakowskiego transportu publicznego organizowanego przez Zarząd Transportu Publicznego (ZTP)",
 	}
 }
 
-func (z ZtpKrakow) Flags() FeedFlags {
+func (z KrakowZtp) Flags() FeedFlags {
 	return FeedFlags{
 		Headsign:     HeadsignTripHeadsing,
 		StopIdFormat: "{{stop_id}}",
@@ -86,10 +86,10 @@ 		LineName:     "{{route_short_name}}",
 	}
 }
 
-func (z ZtpKrakow) FeedPrepareZip(path string) error {
+func (z KrakowZtp) FeedPrepareZip(path string) error {
 	return nil
 }
 
-func (z ZtpKrakow) QRInfo() (string, QRLocation, string) {
+func (z KrakowZtp) QRInfo() (string, QRLocation, string) {
 	return "", QRLocationNone, ""
 }




diff --git a/traffic/poznan_ztm.go b/traffic/poznan_ztm.go
index 0f027d2b9fbd269a767926f59d0fd26687dbaeab..b953f7f98210b1a04797221ffa7cd994fcb54325 100644
--- a/traffic/poznan_ztm.go
+++ b/traffic/poznan_ztm.go
@@ -21,16 +21,16 @@ 	id    string
 	class string
 }
 
-type ZtmPoznan struct {
+type PoznanZtm struct {
 	client http.Client
 }
 
-func (ZtmPoznan) getTimezone() *time.Location {
+func (PoznanZtm) getTimezone() *time.Location {
 	l, _ := time.LoadLocation("Europe/Warsaw")
 	return l
 }
 
-func (z ZtmPoznan) ConvertVehicles() ([]Vehicle, error) {
+func (z PoznanZtm) ConvertVehicles() ([]Vehicle, error) {
 	vehicles := []Vehicle{}
 
 	url := "https://ztm.poznan.pl/en/dla-deweloperow/getGtfsRtFile/?file=vehicle_dictionary.csv"
@@ -99,7 +99,7 @@ 	}
 	return vehicles, nil
 }
 
-func (z ZtmPoznan) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
+func (z PoznanZtm) GetVersions(date time.Time, timezone *time.Location) ([]Version, error) {
 	url := "https://ztm.poznan.pl/en/dla-deweloperow/gtfsFiles"
 	response, err := z.client.Get(url)
 	if err != nil {
@@ -130,30 +130,30 @@ 	}
 	return versions, nil
 }
 
-func (z ZtmPoznan) String() string {
+func (PoznanZtm) String() string {
 	return "poznan_ztm"
 }
 
-func (z ZtmPoznan) RealtimeFeeds() map[RealtimeFeedType]string {
+func (PoznanZtm) RealtimeFeeds() map[RealtimeFeedType]string {
 	return map[RealtimeFeedType]string{
 		TRIP_UPDATES:      "https://ztm.poznan.pl/en/dla-deweloperow/getGtfsRtFile/?file=feeds.pb",
 		VEHICLE_POSITIONS: "https://ztm.poznan.pl/en/dla-deweloperow/getGtfsRtFile/?file=feeds.pb",
 	}
 }
 
-func (z ZtmPoznan) LuaUpdatesScript(config.Auth) string {
+func (PoznanZtm) LuaUpdatesScript(config.Auth) string {
 	return ""
 }
 
-func (z ZtmPoznan) Transformer() transform.Transformer {
+func (PoznanZtm) Transformer() transform.Transformer {
 	return transformers.TransformerPL
 }
 
-func (z ZtmPoznan) Name() string {
+func (PoznanZtm) Name() string {
 	return "Poznań ZTM"
 }
 
-func (z ZtmPoznan) Flags() FeedFlags {
+func (PoznanZtm) Flags() FeedFlags {
 	return FeedFlags{
 		Headsign:     HeadsignTripHeadsing,
 		StopIdFormat: "{{stop_code}}",
@@ -162,10 +162,10 @@ 		LineName:     "{{route_short_name}}",
 	}
 }
 
-func (z ZtmPoznan) FeedPrepareZip(path string) error {
+func (PoznanZtm) FeedPrepareZip(path string) error {
 	return nil
 }
 
-func (z ZtmPoznan) QRInfo() (string, QRLocation, string) {
+func (PoznanZtm) QRInfo() (string, QRLocation, string) {
 	return "www.peka.poznan.pl", QRLocationQuery, "przystanek"
 }