Add between stops to feed YAML
[bus.git] / maxious-canberra-transit-feed / 02-tidytimepoints.rb
blob:a/maxious-canberra-transit-feed/02-tidytimepoints.rb -> blob:b/maxious-canberra-transit-feed/02-tidytimepoints.rb
require 'rubygems' require 'rubygems'
require 'pp' require 'pp'
require 'yaml' require 'yaml'
class Array class Array
def to_yaml_style def to_yaml_style
:inline :inline
end end
end end
Dir.chdir("output") Dir.chdir("output")
   
def getTimePoints() def getTimePoints()
$time_points = [] $time_points = []
$time_points_sources = Hash.new([]) $time_points_sources = Hash.new([])
Dir.glob("*.yml") { |file| Dir.glob("*.yml") { |file|
timetable = YAML::load_file(file) timetable = YAML::load_file(file)
$time_points = $time_points | timetable["time_points"] $time_points = $time_points | timetable["time_points"]
timetable["time_points"].each do |timepoint| timetable["time_points"].each do |timepoint|
$time_points_sources[timepoint] = $time_points_sources[timepoint] | [ file ] $time_points_sources[timepoint] = $time_points_sources[timepoint] | [ file ]
end end
} }
end end
  def correctTimePoints()
  time_point_corrections = {"North Lynehamham" => "North Lyneham",
  "Woden Bus Station Platform 10)" => "Woden Bus Station (Platform 10)",
  "Saint AndrewsVillage Hughes"=>"Saint Andrews Village Hughes",
  "Flemmington Road / Sandford St"=>"Flemington Road / Sandford St",
  "City Interchange"=>"City Bus Station",
  "City Interchange (Platform 9)"=>"City Bus Station (Platform 9)",
  "City Bus Station Platfrom 9"=>"City Bus Station (Platform 9)",
  "Belconnen Community Bus StationPlatform 2)"=>"Belconnen Community Bus Station (Platform 2)",
  "Bridbabella Gardens Nursing Home"=>"Brindabella Gardens Nursing Home",
  "Bridbabella GardensNursing Home"=> "Brindabella Gardens Nursing Home",
  "BrindabellaBusiness Park"=> "Brindabella Business Park",
  "NarrabundahTerminus"=>"Narrabundah Terminus",
  "Narrabundah"=>"Narrabundah Terminus",
  "Railway StationKingston"=>"Railway Station Kingston",
  "Saint AndrewsVillage Hughes"=>"Saint Andrews Village Hughes",
  "Cohen St Bus Station (Platform 3)" => "Cohen Street Bus Station (Platform 3)",
  "Cohen St Bus Station (Platform 6)" => "Cohen Street Bus Station (Platform 6)",
  "Newcastle Streetafter Isa Street" => "Newcastle Street after Isa Street",
  "Newcastle St after Isa St" => "Newcastle Street after Isa Street",
  "Newcastle Street after Isa St" => "Newcastle Street after Isa Street",
  "Northbourne Ave / Antill St" => "Northbourne Avenue / Antill St",
  "Macarthur / Northbourne" => "Macarthur / Northbourne Ave",
  "Macarthur Ave / Northbourne" => "Macarthur / Northbourne Ave",
  "Kings Ave / National Cct"=> "Kings Ave / National Circuit",
  "Kosciuszco Ave / Everard Street"=>"Kosciuszko / Everard",
  "Lithgow St Terminus" => "Lithgow St Terminus Fyshwick",
  "Hospice Menindee Dr" => "Hospice / Menindee Dr",
  "Gungahlin Market Place"=> "Gungahlin Marketplace",
  "Gwyder Square Kaleen"=> "Gwydir Square Kaleen",
  "Flemington Road / Nullabor Ave"=>"Flemington Rd / Nullabor Ave",
  "Flemington Road / Sandford St"=>"Flemington Rd / Sandford St",
  "Heagney Cres Clift Cres Richardson"=> "Heagney / Clift Richardson",
  "Charnwood (Tillyard Drive)"=> "Charnwood",
  "Charnwood Tillyard Dr"=> "Charnwood",
  "charnwood"=> "Charnwood",
  "Black Moutain- Telstra Tower"=>"Black Mountain Telstra Tower",
  "Bonython Primary"=> "Bonython Primary School",
  "Athllon Drive / Sulwood Dr Kambah"=>"Athllon / Sulwood Kambah",
  "Alexander Machonochie Centre Hume"=>"Alexander Maconochie Centre",
  "Alexander Maconochie Centre Hume"=>"Alexander Maconochie Centre",
  "Anthony Rolfe Ave / Moonight Ave" =>"Anthony Rolfe Av / Moonlight Av",
  "Australian National Botanic Gardens"=>"Botanic Gardens",
  "Calwell shops"=> "Calwell",
  "Chuculba / William Slim Drive"=>"Chuculba / William Slim Dr",
  "Fyshwick direct Factory Outlet"=>"Fyshwick Direct Factory Outlet",
  "Kaleen Village / Maibrynong"=>"Kaleen Village / Maribrynong",
  "Kaleen Village / Marybrynong Ave"=>"Kaleen Village / Maribrynong",
  "National Aquarium"=>"National Zoo and Aquarium",
  "chisholm"=>"Chisholm",
  "O'connor"=>"O'Connor",
  "Mckellar"=>"McKellar",
  "William Web / Ginninderra Drive"=>"William Webb / Ginninderra Drive",
  "Procor / Mead"=>"Proctor / Mead",
  "Fyshwick DirectFactory Outlet"=>"Fyshwick Direct Factory Outlet",
  "Yarrulumla"=>"Yarralumla",
  "Tharwa Dr / Pocket Ave"=>"Tharwa Dr / Pockett Ave",
  "Paul Coe / Mirrebei Dr"=>"Paul Coe / Mirrabei Dr",
  "Mirrebei Drive / Dam Wall"=>"Mirrabei Drive / Dam Wall",
  "Tharwa / Knoke" => "Tharwa Drive / Knoke Ave",
  "Tharwa / Pocket" => "Tharwa Drive / Pockett Ave",
  'Tharwa Dr / Pockett Ave' => "Tharwa Drive / Pockett Ave",
  "Outrim / Duggan" => "Outtrim / Duggan",
  "ANU Burton and Garran Hall Daley Rd" => "Burton and Garran Hall Daley Road",
  "Farrer Primary"=>"Farrer Primary School",
  "St Thomas More Campbell"=>"St Thomas More's Campbell",
  "Lyneham"=>"Lyneham / Wattle St",
  "Lyneham Wattle Street"=>"Lyneham / Wattle St",
  "Dickson" => "Dickson / Cowper St",
  'Dickson Antill Street' => 'Dickson / Antill St',
  "DicksonAntill Street"=> 'Dickson / Antill St',
  "Livingston / Kambah" => "Kambah / Livingston St",
  'Melba shops' => 'Melba',
  'St Clare of Assisi' => 'St Clare of Assisi Primary',
  'War Memorial Limestone Ave' => 'War Memorial / Limestone Ave',
  'Flynn' => 'Kingsford Smith / Companion'
   
  }
  time_point_corrections.each do |wrong, right|
  $time_points_sources[wrong].each do |wrongfile|
  badtimetable = YAML::load_file(wrongfile)
  badentrynumber = badtimetable["time_points"].index wrong
  badtimetable["time_points"][badentrynumber] = right
  puts "Corrected '" + wrong + "' to '" + right + "' in " + wrongfile
  File.open(wrongfile, "w") do |f|
  f.write badtimetable.to_yaml
  end
  end
  end
  end
   
getTimePoints() getTimePoints()
#pp $time_points.sort! #pp $time_points.sort!
#pp $time_points_sources.sort #pp $time_points_sources.sort
   
time_point_corrections = {"North Lynehamham" => "North Lyneham",  
"Lathlain St Platform 2" => "Lathlain St Bus Station - Platform 2",  
"Lathlain St Sation - Platform 5" => "Lathlain St Bus Station - Platform 5",  
"Lathlain Steet Station" => "Lathlain St Bus Station",  
"Lathlain St - Platform 3" => "Lathlain St Bus Station - Platform 3",  
"Lathlain Steet Station - Platform 3" => "Lathlain St Bus Station - Platform 3",  
"Lathlain St Station" => "Lathlain St Bus Station",  
"Lathlain St Station - Platform 1" => "Lathlain St Bus Station - Platform 1",  
"Lathlain St Station - Platform 2" => "Lathlain St Bus Station - Platform 2",  
"Lathlain St Station - Platform 3" => "Lathlain St Bus Station - Platform 3",  
"Lathlain St Station - Platform 4" => "Lathlain St Bus Station - Platform 4",  
"Lathlain St Station - Platform 5" => "Lathlain St Bus Station - Platform 5",  
"Lathlain St Station - Platform 6" => "Lathlain St Bus Station - Platform 6",  
"Flemington Rd, Sandford St" => "Flemington Rd/Sandford St",  
"Erindale Centre /Sternberg Crescent" => "Erindale Drive/Sternberg",  
"Canberra Hospita" => "Canberra Hospital",  
"Cohen Str Station - Platform 1" => "Cohen St Bus Station - Platform 1",  
"Cohen Street Station" => "Cohen St Bus Station",  
"Cohen Street Station - Platform 2" => "Cohen St Bus Station - Platform 2",  
"Cohn St Station - Platform 3" => "Cohen St Bus Station - Platform 3",  
"Cohen St Station" => "Cohen St Bus Station",  
"Cohen St Station - Platform 1" => "Cohen St Bus Station - Platform 1",  
"Cohen St Station - Platform 2" => "Cohen St Bus Station - Platform 2",  
"Cohen St Station - Platform 3" => "Cohen St Bus Station - Platform 3",  
"Cohen St Station - Platform 4" => "Cohen St Bus Station - Platform 4",  
"Cohen St Station - Platform 5" => "Cohen St Bus Station - Platform 5",  
"Cohen St Station - Platform 6" => "Cohen St Bus Station - Platform 6",  
"City - Platform 7" => "City Interchange - Platform 7",  
"Cameron Avenue Station" => "Cameron Ave Bus Station",  
"Cameron Avenue Station - Platform 1" => "Cameron Ave Bus Station - Platform 1",  
"Cameron Avenue Station - Platform 2" => "Cameron Ave Bus Station - Platform 2",  
"Cameron Avenue Station - Platform 3" => "Cameron Ave Bus Station - Platform 3",  
"Cameron Avenue Station - Platform 4" => "Cameron Ave Bus Station - Platform 4",  
"Cameron Avenue Station - Platform 5" => "Cameron Ave Bus Station - Platform 5",  
"Cameron Ave Station" => "Cameron Ave Bus Station",  
"Cameron Ave Station - Platform 1" => "Cameron Ave Bus Station - Platform 1",  
"Cameron Ave Station - Platform 2" => "Cameron Ave Bus Station - Platform 2",  
"Cameron Ave Station - Platform 3" => "Cameron Ave Bus Station - Platform 3",  
"Cameron Ave Station - Platform 4" => "Cameron Ave Bus Station - Platform 4",  
"Cameron Ave Station - Platform 5" => "Cameron Ave Bus Station - Platform 5",  
"Burton & Garranan Hall, Daley Road ANU" => "Burton & Garran Hall/Daley Road ANU",  
"Burton & Garranan Hall,Daley Road ANU" => "Burton & Garran Hall/Daley Road ANU",  
"Garran/Daley Rd" => "Burton & Garran Hall/Daley Road ANU",  
"Kingstons Ave/National Crt" => "Kings Ave/National Crt",  
"Newcastle Street after Isa St" => "Newcastle / Isa Street Fyshwick",  
"National Circ/Canberra Ave" => "National Circuit / Canberra Ave",  
"St Clare of Conder" => "St Clare of Assisi Primary",  
"McKillop College Isabella Campus" => "MacKillop College Isabella Campus",  
"Outrim / Duggan" => "Outtrim / Duggan",  
"Manuka Captain Cook" => "Manuka/Captain Cook",  
"Manuka, Captain Cook" => "Manuka/Captain Cook",  
"Hospice, Menindee Drive" => "Hospice",  
"Tharwa/Pocket" => "Tharwa/Pockett",  
"Paul-Co / Mirrabei" => "Paul Coe / Mirrabei"  
}  
time_point_corrections.each do |wrong, right|  
$time_points_sources[wrong].each do |wrongfile|  
badtimetable = YAML::load_file(wrongfile)  
badentrynumber = badtimetable["time_points"].index wrong  
badtimetable["time_points"][badentrynumber] = right  
puts "Corrected '" + wrong + "' to '" + right + "' in " + wrongfile  
File.open(wrongfile, "w") do |f|  
f.write badtimetable.to_yaml  
end  
end  
end  
   
  correctTimePoints()
  getTimePoints()
  correctTimePoints()
getTimePoints() getTimePoints()
pp $time_points.sort! pp $time_points.sort!