def test(): database = "dbRecorridos" db = o.dbInterface(database+".sqlite") #~ getNewStopId(db) printStopsWithNoTrip(db) #~ printTripStops(db,'C0.ida') db.close()
def requestDispatcher(): database = form.getvalue('database',"dbRecorridos") db = o.dbInterface(database+".sqlite") #~ printRouteSchedule(db,route_id='A0') action = form.getvalue('action') if action == 'bbox': bbox = form.getvalue('bbox','') getBBOX(db,bbox) elif action == 'getRoutes': printRoutesList(db) elif action == 'getTracks': printTracksList(); elif action == 'getTrips': route_id = form.getvalue('route_id') printTripsList(db,route_id=route_id) elif action == 'getShape': shape_id = form.getvalue('shape_id',"") printShape(db,shape_id=shape_id) elif action == 'getTripStops': trip_id = form.getvalue('trip_id',"") printTripStops(db,trip_id=trip_id) elif action == 'getRouteSchedule': route_id = form.getvalue('route_id',"") printRouteSchedule(db,route_id=route_id) elif action == 'getRouteServices': route_id = form.getvalue('route_id',"") printRouteServices(db,route_id=route_id) elif action == 'saveStops': trip_id = form.getvalue('trip_id',"") stops_serialized = form.getvalue('stops','') saveStops(db,trip_id,stops_serialized) elif action == 'saveShape': shape_serialized = form.getvalue('shape','') saveShape(db,shape_serialized) elif action == 'removeShape': linea = form.getvalue('linea') result = db.remove('shapes',shape_id=linea) jsonPrint(result) elif action == 'setShape': linea = form.getvalue('linea') jData = json.loads(form.getvalue('features')) for feature in jData['features']: if feature['geometry']['type'] == 'LineString': coordList = feature['geometry']['coordinates'] i=1 db.remove('shapes',shape_id=linea) for pt in coordList: db.insert('shapes',shape_id=linea, shape_pt_lat=pt[1], shape_pt_lon=pt[0], shape_pt_sequence=i) i += 1 #~ jsonPrint(jData) jsonPrint({'success':True}) elif action == 'getNoTrips': printStopsWithNoTrip(db) else: print "Please give me something to do..." db.close()
def main(): storeDb = 'dbRecorridos.sqlite' db = o.dbInterface(storeDb) for route_id in getRoutes(db): print route_id for servicio in getRouteFrec(db,route_id): db.insert('servicios', route_id=route_id, dia=servicio['dia'], frecuencia=servicio['frecuencia'], desde=servicio['desde'], hasta=servicio['hasta']) db.close()
def main(): import config db = o.dbInterface(config.DATABASE) import optparse parser = optparse.OptionParser() parser.add_option('-p', '--precompile', help='Execute pre-compilation tasks', action='store_true', dest='precompile') parser.add_option('-v', '--validate', help='Execute validation at the end', action='store_true', dest='validate') (opts, args) = parser.parse_args() if opts.precompile: print "START Precompilation -----------------" precompilationTasks(db) print "END Precompilation -------------------" feed = compilationTasks(db) if opts.validate: feed.validate() db.close()
def main(): database = form.getvalue('database') db = o.dbInterface(database+".sqlite") if action == 'getDb': FILENAME = database+".sqlite" with open(database+".sqlite", "r") as f: buff = f.read() print "Content-Type:application/x-download\n", print "Content-Disposition:attachment;filename={0}\n".format(os.path.split(database+".sqlite")[-1]), print "Content-Length:{0}\n".format(len(buff)), print "\n{0}".format(buff) elif action == 'getShapes': features = [] for sid in getShapesList(db): routeShape = [[float(p['lon']),float(p['lat'])] for p in db.select('shapes',sid=sid)] feature = geojson.geoJsonPolygon(sid,[routeShape]) #~ feature.update({'properties':{'test1':'test2'}}) features.append(feature) featureCollection = geojson.geoJsonFeatCollection(features) jsonPrint(featureCollection) elif action == 'getTags': sid = form.getvalue('sid') #~ Dict comprehension incompatible with python version<2.6!!! #~ out = {k:v for _,k,v in db.select('shape_tags',sid=sid)} out = {} if sid <> 'null': for sid,k,v in db.select('shape_tags',sid=sid): if (k <> u'' and v <> u''): out.update({k:v}) jsonPrint(out) elif action == 'getSavedTag': codigo = form.getvalue('codigo') row = db.select('codigos',codigo=codigo)[0] #~ Dict comprehension incompatible with python version<2.6!!! #~ out = {k:row[k] for k in row.keys()} out = {} for k in row.keys(): if (k and row[k] and k <> 'codigo'): out.update({k:row[k]}) jsonPrint(out) elif action == 'getCodes': db.query('SELECT ALL codigo FROM codigos') out = [r[0] for r in db.cursor.fetchall()] jsonPrint(out) elif action == 'saveTags': sid = form.getvalue('sid') tags = json.loads(form.getvalue('tags')) db.remove('shape_tags',sid=sid) for k,v in tags.items(): if (k <> u'' and v <> u''): db.insert('shape_tags',sid=sid,k=k,v=v) jsonPrint(tags) elif action == 'removeShape': sid = form.getvalue('sid') db.remove('shapes',sid=sid) db.remove('shape_id',sid=sid) db.remove('shape_tags',sid=sid) jsonPrint({'success':True}) elif action == 'saveShapes': jData = json.loads(form.getvalue('features')) features = {} for feature in jData['features']: if feature['geometry']['type'] == 'Polygon': if 'id' in feature: features.update({feature['id']:feature['geometry']['coordinates'][0]}) else: db.query("""INSERT INTO shape_id DEFAULT VALUES """) newid = db.cursor.lastrowid features.update({str(newid):feature['geometry']['coordinates'][0]}) for sid,coordList in features.items(): db.remove('shapes',sid=sid) #~ jsonPrint(coordList) for i,pt in enumerate(coordList): db.insert('shapes',sid=sid, lat=pt[1], lon=pt[0], seq=i+1) jsonPrint({'success':True}) db.close()
import ormgeneric.ormgeneric as o import saxosmsql.saxosmsql as s import geojson import json import csv import cgi,cgitb cgitb.enable() form = cgi.FieldStorage() term = form.getvalue('term') action = form.getvalue('action') trip = form.getvalue('trip','') db = o.dbInterface("dbRecorridos.sqlite") def getStops(db): stops = [] features = [] for stopCode in db.select('recorridos',nombre=trip): stop = db.select('paradas',codigoparada=stopCode['CodigoParada'])[0] stopD = dict(stop) stops.append(stopD) feature = geojson.geoJsonFeature(stopD['CodigoParada'],stopD['lon'],stopD['lat'],stopD) features.append(feature) jsonPrint(geojson.geoJsonFeatCollection(features)) #~ jsonPrint(stops) def jsonPrint(data): print "Content-Type: application/json\n"