From: maxious Date: Thu, 07 Apr 2011 15:31:25 +0000 Subject: Refactor route list X-Git-Url: https://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=3ffd6a666581ab23855097f1759e39334ea99d48 --- Refactor route list --- --- a/include/db/route-dao.inc.php +++ b/include/db/route-dao.inc.php @@ -1,78 +1,63 @@ 0) { + if (sizeof($conditions) > 1) { + $query .= " Where ".implode(" AND ",$conditions)." "; + } + else { + $query .= " Where ".$conditions[0]." "; + } + } + $query .= " order by route_short_name;"; + debug($query,"database"); + $result = pg_query($conn, $query); + if (!$result) { + databaseError(pg_result_error($result)); + return Array(); + } + return pg_fetch_all($result); } function findRouteByNumber($routeNumber) { - /* - 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 - */ + global $conn; + $query = "Select * from routes where route_short_name = '$routeNumber';"; + debug($query,"database"); + $result = pg_query($conn, $query); + if (!$result) { + databaseError(pg_result_error($result)); + return Array(); + } + return pg_fetch_all($result); } function getRouteNextTrip($routeID) { - /* - 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: - try: - starttime = t.GetStartTime() - except: - print "Error for GetStartTime of trip #" + t.trip_id + sys.exc_info()[0] - else: - cursor = t._schedule._connection.cursor() - cursor.execute( - 'SELECT arrival_secs,departure_secs FROM stop_times WHERE ' - 'trip_id=? ORDER BY stop_sequence DESC LIMIT 1', (t.trip_id,)) - (arrival_secs, departure_secs) = cursor.fetchone() - if arrival_secs != None: - endtime = arrival_secs - elif departure_secs != None: - endtime = departure_secs - else: - endtime =0 - result.append ( (starttime, t.trip_id, endtime) ) - return sorted(result, key=lambda trip: trip[2]) - */ -} + $query = "select * from routes join trips on trips.route_id = routes.route_id +join stop_times on stop_times.trip_id = trips.trip_id where +arrival_time > CURRENT_TIME and routes.route_id = '$routeID' order by +arrival_time limit 1"; + debug($query,"database"); + $result = pg_query($conn, $query); + if (!$result) { + databaseError(pg_result_error($result)); + return Array(); + } + return pg_fetch_assoc($result); /* + } ?> --- a/include/db/stop-dao.inc.php +++ b/include/db/stop-dao.inc.php @@ -1,9 +1,4 @@