More work on mobile UI, changed to network 10 start date
--- a/betweenpoint.php
+++ b/betweenpoint.php
@@ -10,7 +10,7 @@
// create the ol map object
var map = new OpenLayers.Map('map');
- var osmtiles = new OpenLayers.Layer.OSM("local", "http://127.0.0.1/Maps/OSM/${z}/${x}/${y}.png")
+ var osmtiles = new OpenLayers.Layer.OSM("local", "http://127.0.0.1/tiles/${z}/${x}/${y}.png")
// use http://open.atlas.free.fr/GMapsTransparenciesImgOver.php and http://code.google.com/p/googletilecutter/ to make tiles
markers = new OpenLayers.Layer.Markers("Between Stop Markers");
@@ -64,6 +64,7 @@
fromto = selValue.split(":",2)[1];
$("#from").val(fromto.split("->",2)[0]);
$("#to").val(fromto.split("->",2)[1]);
+ document.getElementById("between_points").innerHTML = "";
return true;
}
@@ -126,9 +127,11 @@
if (($fname != '.') && ($fname != '..')) {
$timetable = Spyc::YAMLLoad("maxious-canberra-transit-feed/output/" . $fname);
// Strip off individual platforms because it usually doesn't matter for routes
- $timetable["time_points"] = preg_replace("/(Platform.*/","",$timetable["time_points"]);
+ $timetable["time_points"] = preg_replace("/\(Platform.*/","",$timetable["time_points"]);
for ($i = 0; $i < sizeof($timetable["time_points"]) - 1; $i++) {
- @$paths[trim($timetable["time_points"][$i]) . "->" . trim($timetable["time_points"][$i + 1])] .= $timetable["short_name"] . ";";
+ $key = trim($timetable["time_points"][$i]) . "->" . trim($timetable["time_points"][$i + 1]);
+ if (strstr($paths[$key],";" . $timetable["short_name"] . ";") === false)
+ @$paths[$key] .= $timetable["short_name"] . ";";
}
}
}
@@ -138,9 +141,12 @@
$completedPaths = array();
$result_betweenstops = pg_query($conn, "Select * FROM between_stops");
while ($path = pg_fetch_assoc($result_betweenstops)) {
- $completedPaths[trim($path['fromlocation']) . "->" . trim($path['tolocation'])] .= trim($path['routes']);
+ $key = trim($path['fromlocation']) . "->" . trim($path['tolocation']);
+ $completedPaths[$key].= trim($path['routes']);
+
}
-
+
+
foreach ($paths as $path => $routes) {
if (!in_array($path, array_keys($completedPaths))) {
echo "<option value=\"$routes:$path\">" . sizeof(explode(";", $routes)) . " $path</option>\n";
@@ -149,12 +155,14 @@
$incompleteRoutes = "";
foreach (explode(";", $routes) as $route) {
- if (!in_array($route,$completedRoutes)) {
+ if (!in_array($route,$completedRoutes) && strstr($incompleteRoutes,';'.$route.';') === false) {
$incompleteRoutes .= $route.';';
}
}
- if ($incompleteRoutes != "") echo "<option value=\"$incompleteRoutes:$path\">" . sizeof(explode(";", $incompleteRoutes)) . " $path</option>\n";
+ if ($incompleteRoutes != "") {
+ echo "<option value=\"$incompleteRoutes:$path\">" . sizeof(explode(";", $incompleteRoutes)) . " $path</option>\n";
+ }
}
}
--- a/betweenpoint.submit.php
+++ b/betweenpoint.submit.php
@@ -16,8 +16,11 @@
echo("Error in SQL query: " . pg_last_error() ."<br>\n");
}
if ($reverse === "on") {
- $points = implode(";",array_reverse(explode(";",$points)));
-$sql = "INSERT INTO between_stops ( toLocation, fromLocation, points, routes) VALUES('$from','$to','$points','$routes')";
+ $ep = explode(";",$points);
+ $epr = array_reverse($ep);
+ $p = implode(";",$epr).";";
+ $pointsString = substr($p,1);
+$sql = "INSERT INTO between_stops ( toLocation, fromLocation, points, routes) VALUES('$from','$to','$pointsString','$routes')";
$result = pg_query($conn, $sql);
if (!$result) {
echo("Error in SQL query: " . pg_last_error() ."<br>\n");
--- a/busui/common.inc.php
+++ b/busui/common.inc.php
@@ -12,24 +12,29 @@
return true;
}
-function include_header($pageTitle) {
+function include_header($pageTitle, $opendiv = true, $geolocate = false) {
// if (isDebug()) // set php error level high
echo '
<!DOCTYPE html>
<html>
<head>
<title>bus.lambdacomplex.org - '.$pageTitle.'</title>
- <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" />
+ <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.css" />
<script src="http://code.jquery.com/jquery-1.4.3.min.js"></script><script type="text/javascript"
-src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"></script>
+src="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.js"></script>
<script type="text/javascript" src="docs/docs.js"></script>
+ <meta name="apple-mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-status-bar-style" content="black" />
+ <link rel="apple-touch-startup-image" href="startup.png" />
+ <link rel="apple-touch-icon" href="apple-touch-icon.png" />
</head>
<body>
-
-<div data-role="page">
+ ';
+if ($opendiv) echo '<div data-role="page">
<div data-role="header">
- <h1>'.$pageTitle.'</h1>
+ <h1>'.$pageTitle.'</h1>
+ <a href="index.php" data-icon="back" class="ui-btn-right">Home</a>
</div><!-- /header -->
<div data-role="content"> ';
}
@@ -81,5 +86,24 @@
}
return $f;
}
+
+function staticmap($mapPoints)
+{
+$width = 300;
+$height = 300;
+ if (sizeof($mapPoints) < 1) return "";
+ if (sizeof($mapPoints) === 1) $center = "{$mapPoints[0][0]},{$mapPoints[0][1]}";
+ if (sizeof($mapPoints) > 1) $center = "{$mapPoints[0][0]},{$mapPoints[0][1]}"; //TODO average points
+ $markers = "";
+ foreach ($mapPoints as $index => $mapPoint) {
+ if (sizeof($mapPoints) === 1) {
+ $markers .= $mapPoint[0].",".$mapPoint[1].",ol-marker";
+ } else {
+ $markers .= $mapPoint[0].",".$mapPoint[1].",lightblue".($index+1);
+ }
+ }
+ return '<img src="staticmaplite/staticmap.php?center='.$center.'&zoom=14&size='.$width.'x'.$height.'&maptype=mapnik&markers='.$markers.'" width=$width height=$height>';
+}
?>
+
--- a/busui/index.php
+++ b/busui/index.php
@@ -1,60 +1,26 @@
<?php
-include('common.inc.php');
+include('common.inc.php');
+include_header("bus.lambdacomplex.org",false)
?>
-<!doctype html>
-<html>
- <head>
- <meta charset="UTF-8" />
- <title>bus.lambdacomplex.org</title>
- <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" />
- <script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
- <script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"></script>
- <!-- <script src="jqtouch/extensions/jqt.location.js" type="application/x-javascript" charset="utf-8"></script> -->
-
-<!-- <script type="text/javascript" charset="utf-8">
- $(function(){
- function setDisplay(text) {
- $('.latlng').empty().append(text)
- }
-
- // We pass "updateLocation" a callback function,
- // to run once we have the coordinates.
- // We also set it to a variable, so we can know
- // right away if it's working or not
- var lookup = jQT.updateLocation(function(coords){
- if (coords) {
- setDisplay('Latitude: ' + coords.latitude + '<br />Longitude: ' + coords.longitude);
- $('.nearby').empty().append('<a href="list.php?lat=' + coords.latitude + '&lng=' + coords.longitude + '">Nearby List</a>');
- } else {
- setDisplay('Device not capable of geo-location.');
- }
- });
-
- if (lookup) {
- setDisplay('Looking up location…');
- }
- });
- </script> -->
- </head>
- <body>
-<div data-role="page" data-theme="b" id="jqm-home">
- <div id="jqm-homeheader">
- <p>bus.lambdacomplex.org</p>
+<div data-role="page" data-theme="b" id="jqm-home" class="ui-page ui-body-b ui-page-active">
+ <div id="jqm-homeheader">
+ <center><h1 id="jqm-logo"><img src="apple-touch-icon.png" alt="jQuery Mobile Framework" width="64" height="64" />
+ bus.lambdacomplex.org</h1></center>
</div>
<div data-role="content">
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b">
<li data-role="list-divider">Stops</li>
<li><a href="stopList.php">All stops List</a></li>
- <li class="nearby"><a href="">Nearby List</a></li>
- <li><a href="stopList.php">Favourites List</a></li>
+ <li class="nearby"><a href="stopList.php?nearby=yes">Nearby List</a></li>
+ <li><a href="stopList.php?favourites=yes">Favourites List</a></li>
</ul>
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b">
<li data-role="list-divider">Routes</li>
<li><a href="routeList.php">All Routes List</a></li>
- <li class="nearby"><a href="">Nearby List</a></li>
- <li><a href="routeList.php">Favourites List</a></li>
+ <li class="nearby"><a href="routeList.php?nearby=yes">Nearby List</a></li>
+ <li><a href="routeList.php?favourites=yes">Favourites List</a></li>
</ul>
- <div class="info">
+ <div class="ui-body ui-body-c info">
<p class="latlng"></p>
Time: <?php echo date("H:m"); ?> <br>
Service Period: <?php echo ucwords(service_period()); ?>
--- a/busui/readme.txt
+++ b/busui/readme.txt
@@ -21,3 +21,10 @@
OOP stops/routes
Stop sorting/search-filter
+static maps
+https://code.google.com/apis/maps/documentation/staticmaps/
+http://www.multimap.com/openapidocs/1.2/web_service/staticmaps.htm
+http://dev.openstreetmap.de/staticmap/ (os @ http://sourceforge.net/projects/staticmaplite/)
+(php and open source @ http://trac.openstreetmap.org/browser/sites/other/StaticMap?rev=16348)
+http://pafciu17.dev.openstreetmap.org/
+
--- a/busui/route.php
+++ /dev/null
--- a/busui/routeList.php
+++ b/busui/routeList.php
@@ -7,28 +7,49 @@
$url = $APIurl."/json/routes";
$contents = json_decode(getPage($url));
-foreach ($contents as $key => $row) {
- $routeDestinations[$row[2]][] = $row;
-}
-foreach ($routeDestinations as $destination => $routes)
-{
- echo '<li>'.$destination."... <ul>\n";
- foreach($routes as $row) {
- echo '<li>'.$row[1].' <a href="route.php?routeid='.$row[0].'">'.$row[2]."</a></li>\n";
+if ($_REQUEST['bynumber']) {
+ $routeSeries = Array();
+ foreach ($contents as $key => $row) {
+ foreach (explode(" ",$row[1]) as $routeNumber ) {
+ $seriesNum = substr($routeNumber, 0, -1)."0";
+ if ($seriesNum == "0") $seriesNum = $routeNumber;
+ $routeSeries[$seriesNum][$seriesNum."-".$row[1]."-".$row[0]] = $row;
+
+
}
- echo "</ul></li>\n";
+ }
+ ksort($routeSeries);
+ foreach ($routeSeries as $series => $routes)
+ {
+ echo '<li>'.$series."... <ul>\n";
+ foreach($routes as $row) {
+ echo '<li>'.$row[1].' <a href="route.php?routeid='.$row[0].'">'.$row[2]."</a></li>\n";
+ }
+ echo "</ul></li>\n";
+ }
+} else {
+ foreach ($contents as $key => $row) {
+ $routeDestinations[$row[2]][] = $row;
+ }
+ foreach ($routeDestinations as $destination => $routes)
+ {
+ echo '<li>'.$destination."... <ul>\n";
+ foreach($routes as $row) {
+ echo '<li>'.$row[1].' <a href="trip.php?routeid='.$row[0].'">'.$row[2]."</a></li>\n";
+ }
+ echo "</ul></li>\n";
+ }
}
echo "</ul>\n";
-/*
+echo'
<div data-role="footer" data-id="foo1" data-position="fixed">
<div data-role="navbar">
<ul>
- <li><a href="footer-persist-a.html" class="ui-btn-active">Friends</a></li>
- <li><a href="footer-persist-b.html">Albums</a></li>
- <li><a href="footer-persist-c.html">Emails</a></li>
+ <li><a href="routeList.php" class="ui-btn-active">By Final Destination...</a></li>
+ <li><a href="routeList.php?bynumber=yes">By Number... </a></li>
+ <li><a href="routeList.php?bysuburb=yes">By Suburb... </a></li>
</ul>
- </div><!-- /navbar -->
-*/
+ ';
include_footer();
?>
--- a/busui/schedule_viewer.py
+++ b/busui/schedule_viewer.py
@@ -264,7 +264,19 @@
schedule = self.server.schedule
route = schedule.GetRoute(params.get('route', None))
return [transitfeed.Route._FIELD_NAMES, route.GetFieldValuesTuple()]
-
+
+ def handle_json_GET_routetrips(self, params):
+ """ Get a trip for a route_id (preferablly the next one) """
+ schedule = self.server.schedule
+ query = params.get('route_id', None).lower()
+ result = []
+ for t in schedule.GetTripList():
+ if t.route_id == query:
+ result.append ( (t.GetStartTime(), t.trip_id) )
+ """ UGH fails for 300s """
+ """return result"""
+ return sorted(result, key=lambda trip: trip[0])
+
def handle_json_GET_triprows(self, params):
"""Return a list of rows from the feed file that are related to this
trip."""
@@ -369,6 +381,7 @@
schedule = self.server.schedule
stop = schedule.GetStop(params.get('stop', None))
time = int(params.get('time', 0))
+ service_period = params.get('service_period', None)
time_trips = stop.GetStopTimeTrips(schedule)
time_trips.sort() # OPT: use bisect.insort to make this O(N*ln(N)) -> O(N)
# Keep the first 15 after param 'time'.
@@ -397,8 +410,8 @@
trip_name += route.route_long_name
if headsign:
trip_name += " (Direction: %s)" % headsign
-
- result.append((time, (trip.trip_id, trip_name, trip.service_id), tp))
+ if service_period == None or trip.service_id == service_period:
+ result.append((time, (trip.trip_id, trip_name, trip.service_id), tp))
return result
def handle_GET_ttablegraph(self,params):
--- a/busui/stop.php
+++ b/busui/stop.php
@@ -4,14 +4,19 @@
$stop = json_decode(getPage($url));
include_header("Trips passing ".$stop[1]);
+echo '<div data-role="content" class="ui-content" role="main"><p>'.staticmap(Array(0 => Array($stop[2],$stop[3]))).'</p>';
echo ' <ul data-role="listview" >';
-$url = $APIurl."/json/stoptrips?stop=".$_REQUEST['stopid']."&time=".midnight_seconds();
-$page = getPage($url);
-foreach (json_decode($page) as $row)
+$url = $APIurl."/json/stoptrips?stop=".$_REQUEST['stopid']."&time=".midnight_seconds()."&service_period=".service_period();
+$trips = json_decode(getPage($url));
+foreach ($trips as $row)
{
-if ($row[1][2] === service_period()) echo '<li>'.midnight_seconds_to_time($row[0]).' <a href="trip.php?stopid='.$_REQUEST['stopid'].'&tripid='.$row[1][0].'">'.$row[1][1].'</a></li>';
+echo '<li>';
+echo '<h3><a href="trip.php?stopid='.$_REQUEST['stopid'].'&tripid='.$row[1][0].'">'.$row[1][1].'</a></h3>';
+echo '<p class="ui-li-aside"><strong>'.midnight_seconds_to_time($row[0]).'</strong></p>';
+echo '</li>';
}
-echo '</ul>';
+if (sizeof($trips) == 0) echo "<li> <center>No trips in the near future.</center> </li>";
+echo '</ul></div>';
include_footer();
?>
--- a/busui/stopList.php
+++ b/busui/stopList.php
@@ -2,7 +2,8 @@
include('common.inc.php');
include_header("Stops");
echo ' <ul data-role="listview" data-filter="true">';
-$url = $APIurl."/json/stops";
+$url = $APIurl."/json/timingpoints";
+if ($_REQUEST['allstops']) $url = $APIurl."/json/stops";
if ($_REQUEST['lat'] && $_REQUEST['lon']) $url = $APIurl."/json/neareststops?lat={$_REQUEST['lat']}&lon={$_REQUEST['lon']}&limit=15";
$contents = json_decode(getPage($url));
foreach ($contents as $key => $row) {
@@ -19,16 +20,14 @@
echo '<li><a href="stop.php?stopid='.$row[0].'">'.$row[1].'</a></li>';
}
echo '</ul>';
-/*
+echo'
<div data-role="footer" data-id="foo1" data-position="fixed">
<div data-role="navbar">
<ul>
- <li><a href="footer-persist-a.html" class="ui-btn-active">Friends</a></li>
- <li><a href="footer-persist-b.html">Albums</a></li>
- <li><a href="footer-persist-c.html">Emails</a></li>
+ <li><a href="stopList.php" class="ui-btn-active">Timing Points</a></li>
+ <li><a href="stopList.php?allstops=yes">All Stops</a></li>
</ul>
- </div><!-- /navbar -->
-*/
+ ';
include_footer();
?>
--- a/busui/trip.php
+++ b/busui/trip.php
@@ -1,23 +1,36 @@
<?php
include('common.inc.php');
-$url = $APIurl."/json/triprows?trip=".$_REQUEST['tripid'];
+$tripid = $_REQUEST['tripid'];
+if ($_REQUEST['routeid']) {
+ $url = $APIurl."/json/routetrips?route_id=".$_REQUEST['routeid'];
+ $trips = json_decode(getPage($url));
+foreach ($trips as $trip)
+ {
+ if ($trip[0] < midnight_seconds()) {
+ $tripid = $trip[1];
+ break;
+ }
+ }
+ if (!($tripid > 0)) $tripid = $trips[0][1];
+}
+$url = $APIurl."/json/triprows?trip=".$tripid;
$trips = array_flatten(json_decode(getPage($url)));
-print_r($trips);
include_header("Stops on ". $trips[1]->route_short_name . ' '. $trips[1]->route_long_name);
echo ' <ul data-role="listview" >';
-
-
-$url = $APIurl."/json/tripstoptimes?trip=".$_REQUEST['tripid'];
+$url = $APIurl."/json/tripstoptimes?trip=".$tripid;
$json = json_decode(getPage($url));
$stops = $json[0];
$times = $json[1];
foreach ($stops as $key => $row)
{
-echo '<li>'.midnight_seconds_to_time($times[$key]).' <a href="stop.php?stopid='.$row[0].'">'.$row[1].'</a></li>';
+ echo '<li>';
+echo '<h3><a href="stop.php?stopid='.$row[0].'">'.$row[1].'</a></h3>';
+echo '<p class="ui-li-aside">'.midnight_seconds_to_time($times[$key]).'</p>';
+echo '</li>';
}
echo '</ul>';
include_footer();
--- a/maxious-canberra-transit-feed/01-extracttimes.rb
+++ b/maxious-canberra-transit-feed/01-extracttimes.rb
@@ -14,31 +14,34 @@
timetable = {"between_stops" => [], "short_name" => short_name}
time_points = table.xpath('tr[1]//th').map do |tp|
if tp.content != "\302\240" && tp.content != "" && tp.content != "<br/>"
- timing_point = tp.content.squeeze(" ").gsub("Bus Station"," Bus Station ").gsub(" Platform"," (Platform").gsub(" - "," - ").gsub("\n"," ").gsub("\r"," ").gsub("\t"," ").gsub("\\"," / ").gsub("/"," / ").gsub(",",", ").gsub("\302\240","").squeeze(" ").strip
+ timing_point = tp.content.squeeze(" ").gsub("Bus Station"," Bus Station ").gsub(" Platform"," (Platform").gsub(" - "," - ").gsub("\n"," ").gsub("\r"," ").gsub("\t"," ").gsub("\\"," / ").gsub("/"," / ").gsub(","," ").gsub("\302\240","").squeeze(" ").strip
if (tp.content.match('Platform'))
timing_point.concat(")")
end;
+ if tp.to_s.match(/[0-9][0-9][0-9]/) or tp.to_s.include? "Wheelchair"
+ timing_point = nil
+ end
timing_point
end
end
time_points.delete(nil)
- time_points.delete("WheelchairAccessible")
- time_points.delete("Wheelchair Accessible")
timetable["time_points"] = time_points.to_a
timetable["long_name"] = "To " + time_points.last
periodtimes = []
table.css('tr').each do |row|
times = row.css('td').map do |cell|
time = cell.content.squeeze(" ").strip
- time = time.gsub(/ *A\S?M/,"a").gsub(/ ?P\S?M/,"p").gsub("12:08 AM","1208x").gsub(":","").gsub("1.","1").gsub("2.","2")
- time = time.gsub("3.","3").gsub("4.","4")
+ time = time.gsub(/ *A\S?M/,"a").gsub(/ ?P\S?M/,"p").gsub(/ *a\S?m/,"a").gsub(/ ?p\S?m/,"p")
+ time = time.gsub("12:08 AM","1208x").gsub(":","").gsub("1.","1").gsub("2.","2").gsub("3.","3").gsub("4.","4")
time = time.gsub("5.","5").gsub("6.","6").gsub("7.","7").gsub("8.","8").gsub("9.","9").gsub("10.","10")
time = time.gsub("11.","11").gsub("12.","12").gsub(/\.+/,"-").gsub("\302\240","")
- if time == "" then time = nil end
+ if time == "" or time.include? "chool" or time.include? "On Race Days" or time.include? "Bus"
+ time = nil # This hacky way is faster than using position()>1 xpath on <TD>s!
+ end
time
end
times.delete(nil)
- if not times.empty?
+ if not times.empty?
if not (route = times.shift)
raise("TODO: account for shifting route numbers eg. intertown/redex 62/162")
end
@@ -59,14 +62,14 @@
timetable
end
-Dir.glob("source-html/Route*.htm*") { |file|
+Dir.glob("source-html/*oute*.htm*") { |file|
puts "Opened " + file
doc = Nokogiri::HTML(open(file))
# Search for nodes by css
timetables = []
short_name = "";
doc.xpath('//title').each do |title|
- short_name = title.content.gsub("Route_","").gsub("Route ","").gsub(", ","/").gsub("ACTION Buses Timetable for ","").squeeze(" ").strip
+ short_name = title.content.gsub("Route_","").gsub("Route ","").gsub("route ","").gsub(", ","/").gsub("ACTION Buses Timetable for ","").squeeze(" ").strip
end
if short_name == ""
raise "Route number(s) not found in <title> tag"
--- a/maxious-canberra-transit-feed/02-tidytimepoints.rb
+++ b/maxious-canberra-transit-feed/02-tidytimepoints.rb
@@ -19,17 +19,15 @@
end
}
end
-
-getTimePoints()
-#pp $time_points.sort!
-#pp $time_points_sources.sort
-
+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",
+ "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",
@@ -37,31 +35,80 @@
"Railway StationKingston"=>"Railway Station Kingston",
"Saint AndrewsVillage Hughes"=>"Saint Andrews Village Hughes",
"Dickson ShopsAntill Street"=>"Dickson Shops",
- "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",
+ "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 Shops (Tillyard Drive)"=> "Charnwood Shops",
+ "charnwood Shops"=> "Charnwood Shops",
+ "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 Shops",
+ "Chuculba / William Slim Drive"=>"Chuculba / William Slim Dr",
+ "Fyshwick direct Factory Outlet"=>"Fyshwick Direct Factory Outlet",
+ "Kaleen Village / Maibrynong"=>"Kaleen Village / Marybrynong",
+ "Kaleen Village / Marybrynong Ave"=>"Kaleen Village / Marybrynong",
+ "National Aquarium"=>"National Zoo and Aquarium",
+ "chisholm Shops"=>"Chisholm Shops",
+ "O'connor Shops"=>"O'Connor Shops",
+ "Mckellar Shops"=>"McKellar Shops",
+ "Melba shops"=> "Melba Shops",
"William Web / Ginninderra Drive"=>"William Webb / Ginninderra Drive",
"Procor / Mead"=>"Proctor / Mead",
-"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"
+ "Fyshwick DirectFactory Outlet"=>"Fyshwick Direct Factory Outlet",
+ "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",
+ "Tharwa / Knoke" => "Tharwa Drive / Knoke Ave",
+ "Tharwa / Pocket" => "Tharwa Dr / 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 Shops"=>"Lyneham Shops Wattle Street",
+
+
}
-
-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
+ 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()
+#pp $time_points.sort!
+#pp $time_points_sources.sort
+
+
+correctTimePoints()
+getTimePoints()
+correctTimePoints()
+getTimePoints()
pp $time_points.sort!