More network 10 updates
More network 10 updates

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
   
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", time_point_corrections = {"North Lynehamham" => "North Lyneham",
"Woden Bus Station Platform 10)" => "Woden Bus Station (Platform 10)", "Woden Bus Station Platform 10)" => "Woden Bus Station (Platform 10)",
"Saint AndrewsVillage Hughes"=>"Saint Andrews Village Hughes", "Saint AndrewsVillage Hughes"=>"Saint Andrews Village Hughes",
"Flemmington Road / Sandford St"=>"Flemington Road / Sandford St", "Flemmington Road / Sandford St"=>"Flemington Road / Sandford St",
"City Interchange"=>"City Bus Station", "City Interchange"=>"City Bus Station",
"City Interchange (Platform 9)"=>"City Bus Station (Platform 9)", "City Interchange (Platform 9)"=>"City Bus Station (Platform 9)",
"Bridbabella Gardens Nursing Home"=>"Brindabella Gardens Nursing Home", "Bridbabella Gardens Nursing Home"=>"Brindabella Gardens Nursing Home",
"Bridbabella GardensNursing Home"=> "Brindabella Gardens Nursing Home", "Bridbabella GardensNursing Home"=> "Brindabella Gardens Nursing Home",
"BrindabellaBusiness Park"=> "Brindabella Business Park", "BrindabellaBusiness Park"=> "Brindabella Business Park",
"NarrabundahTerminus"=>"Narrabundah Terminus", "NarrabundahTerminus"=>"Narrabundah Terminus",
"Railway StationKingston"=>"Railway Station Kingston", "Railway StationKingston"=>"Railway Station Kingston",
"Saint AndrewsVillage Hughes"=>"Saint Andrews Village Hughes", "Saint AndrewsVillage Hughes"=>"Saint Andrews Village Hughes",
"Dickson ShopsAntill Street"=>"Dickson Shops", "Dickson ShopsAntill Street"=>"Dickson Shops",
"Cohen St Bus Station (Platform 3)"=>"Cohen Street Bus Station (Platform 3)", "Cohen St Bus Station (Platform 3)"=>"Cohen Street Bus Station (Platform 3)",
"Cohen St Bus Station (Platform 6)"=>"Cohen Street Bus Station (Platform 6)", "Cohen St Bus Station (Platform 6)"=>"Cohen Street Bus Station (Platform 6)",
"Newcastle Streetafter Isa Street"=>"Newcastle Street after Isa Street", "Newcastle Streetafter Isa Street"=>"Newcastle Street after Isa Street",
"William Web / Ginninderra Drive"=>"William Webb / Ginninderra Drive", "William Web / Ginninderra Drive"=>"William Webb / Ginninderra Drive",
"Procor / Mead"=>"Proctor / Mead", "Procor / Mead"=>"Proctor / Mead",
"Fyshwick DirectFactory Outlet"=>"Fyshwick Direct Factory Outlet" "Fyshwick DirectFactory Outlet"=>"Fyshwick Direct Factory Outlet",
  "Dickson ShopsAntill Street"=>"Dickson Shops/Antill St",
  "Yarrulumla Shops"=>"Yarralumla Shops",
  "Tharwa Dr / Pocket Ave"=>"Tharwa Dr / Pockett Ave",
  "Paul Coe / Mirrebei Dr"=>"Paul Coe / Mirrabei Dr",
  "Mirrebei Drive / Dam Wall"=>"Mirrabei Drive / Dam Wall"
} }
   
time_point_corrections.each do |wrong, right| time_point_corrections.each do |wrong, right|
$time_points_sources[wrong].each do |wrongfile| $time_points_sources[wrong].each do |wrongfile|
badtimetable = YAML::load_file(wrongfile) badtimetable = YAML::load_file(wrongfile)
badentrynumber = badtimetable["time_points"].index wrong badentrynumber = badtimetable["time_points"].index wrong
badtimetable["time_points"][badentrynumber] = right badtimetable["time_points"][badentrynumber] = right
puts "Corrected '" + wrong + "' to '" + right + "' in " + wrongfile puts "Corrected '" + wrong + "' to '" + right + "' in " + wrongfile
File.open(wrongfile, "w") do |f| File.open(wrongfile, "w") do |f|
f.write badtimetable.to_yaml f.write badtimetable.to_yaml
end end
end end
end end
   
getTimePoints() getTimePoints()
pp $time_points.sort! pp $time_points.sort!
   
<
#!/usr/bin/ruby #!/usr/bin/ruby
   
require 'highline.rb' require 'highline.rb'
include HighLine include HighLine
   
require 'rubygems' require 'rubygems'
require 'postgres' require 'postgres'
require 'json' require 'json'
require 'net/http' require 'net/http'
def cbr_geocode(query) def cbr_geocode(query)
base_url = "http://geocoding.cloudmade.com/daa03470bb8740298d4b10e3f03d63e6/geocoding/v2/find.js?query=" base_url = "http://geocoding.cloudmade.com/daa03470bb8740298d4b10e3f03d63e6/geocoding/v2/find.js?query="
url = "#{base_url}#{URI.encode(query)}&bbox=-35.47,148.83,-35.16,149.25&return_location=true" url = "#{base_url}#{URI.encode(query)}&bbox=-35.47,148.83,-35.16,149.25&return_location=true"
resp = Net::HTTP.get_response(URI.parse(url)) resp = Net::HTTP.get_response(URI.parse(url))
data = resp.body data = resp.body
  pp url
# we convert the returned JSON data to native Ruby # we convert the returned JSON data to native Ruby
# data structure - a hash # data structure - a hash
result = JSON.parse(data) result = JSON.parse(data)
   
# if the hash has 'Error' as a key, we raise an error # if the hash has 'Error' as a key, we raise an error
if result.has_key? 'Error' if result.has_key? 'Error'
raise "web service error" raise "web service error"
end end
return result return result
end end
class Array class Array
   
def find_dups def find_dups
inject(Hash.new(0)) { |h,e| h[e] += 1; h }.select { |k,v| v > 1 }.collect { |x| x.first } inject(Hash.new(0)) { |h,e| h[e] += 1; h }.select { |k,v| v > 1 }.collect { |x| x.first }
end end
end end