def bip_spot_load(directory): from . import Database, BipSpot kwargs = {'gtfs_directory': directory, 'is_geospatial': True} db = Database(**kwargs) BipSpot.add_geometry_column() BipSpot.__table__.create(bind=db.engine) BipSpot.load(db, **kwargs)
def route_stop_load(): """ written as a test / debug method for RS table loader """ from gtfsdb import Database, RouteStop kwargs = get_args()[1] db = Database(**kwargs) RouteStop.load(db, **kwargs)
def current_tables_load(**kwargs): """ current table loader """ from gtfsdb import Database, CurrentRoutes, CurrentStops, CurrentRouteStops db = Database(**kwargs) for cls in [CurrentRoutes, CurrentRouteStops, CurrentStops]: db.create_table(cls) cls.post_process(db, **kwargs)
def loadToDatabase(writedir, name, gtfsfile): db_type = "sqlite:///" suffix = ".sqlite" dbpath = writedir + "/" + name + suffix dbname = db_type + dbpath print "storing into database as " + dbname db = Database(dbname, None, False) db.create() gtfs = GTFS(gtfsfile) gtfs.load(db) return dbpath
def db_connect_tester(): """ simple routine to connect to an existing database and list a few stops bin/connect-tester --database_url sqlite:///gtfs.db _no_gtfs_zip_needed_ """ from gtfsdb import Database, Stop, Route, StopTime args, kwargs = get_args() db = Database(**kwargs) for s in db.session.query(Stop).limit(2): print s.stop_name for r in db.session.query(Route).limit(2): print r.route_name #import pdb; pdb.set_trace() stop_times = StopTime.get_departure_schedule(db.session, stop_id='11411') for st in stop_times: print st.get_direction_name() break
def main(global_config, **ini_settings): """ this function is the main entry point for pserve / Pyramid it returns a Pyramid WSGI application see setup.py entry points + config/*.ini [app:main] ala pserve (e.g., bin/pserve config/development.ini) """ # import pdb; pdb.set_trace() app = AppConfig(**ini_settings) from gtfsdb import Database kw = app.gtfsdb_param_from_config() db = Database(**kw) app.set_db(db) from . import views app.config_include_scan(views) return app.make_wsgi_app()
def database_load(filename, **kwargs): '''Basic API to load a GTFS zip file into a database arguments: filename: URL or local path to GTFS zip file keyword arguments: batch_size: record batch size for memory management is_geospatial: if database is support geo functions schema: database schema name tables: limited list of tables to load url: SQLAlchemy database url ''' db = Database(**kwargs) db.create() gtfs = GTFS(filename) gtfs.load(db, **kwargs) return db