Пример #1
0
def test():
    database = "dbRecorridos"
    db = o.dbInterface(database+".sqlite")
    #~ getNewStopId(db)
    printStopsWithNoTrip(db)
    #~ printTripStops(db,'C0.ida')
    db.close()
Пример #2
0
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()
Пример #3
0
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()
Пример #4
0
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()
Пример #5
0
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()
Пример #6
0
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"