From: maxious Date: Thu, 10 Mar 2011 12:25:11 +0000 Subject: Trip/route display improvements such as alternative directions X-Git-Url: https://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=3fbd17e9deb360173511873daa1fefd2692f5335 --- Trip/route display improvements such as alternative directions --- --- a/schedule_viewer.py +++ b/schedule_viewer.py @@ -281,6 +281,23 @@ result.append( (r.route_id, r.route_short_name, r.route_long_name, servicep.service_id) ) result.sort(key = lambda x: x[1:3]) return result + + def handle_json_GET_routesearch(self, params): + """Return a list of routes with matching short name.""" + schedule = self.server.schedule + routeshortname = params.get('routeshortname', None) + result = [] + for r in schedule.GetRouteList(): + if r.route_short_name == routeshortname: + servicep = None + for t in schedule.GetTripList(): + if t.route_id == r.route_id: + servicep = t.service_period + break + result.append( (r.route_id, r.route_short_name, r.route_long_name, servicep.service_id) ) + result.sort(key = lambda x: x[1:3]) + return result + def handle_json_GET_routerow(self, params): schedule = self.server.schedule --- a/trip.php +++ b/trip.php @@ -4,16 +4,17 @@ $stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); $routeid = filter_var($_REQUEST['routeid'], FILTER_SANITIZE_NUMBER_INT); $routetrips = Array(); -if ($_REQUEST['routeid']) { +if ($_REQUEST['routeid'] && !$_REQUEST['tripid']) { + $tripid = 0; $url = $APIurl . "/json/routetrips?route_id=" . $routeid; $routetrips = json_decode(getPage($url)); foreach ($routetrips as $trip) { - if ($trip[0] < midnight_seconds()) { + if ($trip[0] > midnight_seconds()) { $tripid = $trip[1]; break; } } - if (!($tripid > 0)) $tripid = $routetrip[0][1]; + if ($tripid == 0) $tripid = $routetrips[0][1]; } $url = $APIurl . "/json/triprows?trip=" . $tripid; $trips = array_flatten(json_decode(getPage($url))); @@ -39,18 +40,30 @@ // Track the event $owa->trackEvent($event); } -timePlaceSettings(); +$url = $APIurl . "/json/tripstoptimes?trip=" . $tripid; +$json = json_decode(getPage($url)); +$stops = $json[0]; +$times = $json[1]; +$viaPoints = Array(); +foreach ($stops as $stop) { + if (!startsWith($stop[5], "Wj")) { + $viaPoints[] = $stop[1]; + } +} +echo 'Via: ' . implode(", ",$viaPoints) . ''; echo '

Other Trips: '; foreach ($routetrips as $othertrip) { echo '' . midnight_seconds_to_time($othertrip[0]) . ' '; } echo '

Other directions/timing periods: '; +$url = $APIurl . "/json/routesearch?routeshortname=" . $trips[1]->route_short_name; +$json = json_decode(getPage($url)); +foreach ($json as $row) { + if ($row[0] != $routeid) echo '' . $row[2] . ' (' . ucwords($row[3]) . ') '; +} + echo '