def main(argv=sys.argv): if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.pf.') DBSession.configure(bind=engine) Base.metadata.create_all(engine) hlr_engine = engine_from_config(settings, 'sqlalchemy.hlr.') HLRDBSession.configure(bind=hlr_engine) # initial settings with transaction.manager: DBSession.add_all([ Settings(name='imsiUpdate', value=3000), Settings(name='smsUpdate', value=3000), Settings(name='silentSms', value=3000), Settings( name='welcomeMessage', value='You are connected to a mobile search and rescue team. ' + \ 'Please SMS to {ph_phone_number} to communicate. ' + \ 'Your temporary phone number is {ms_phone_number}' ), Settings( name='replyMessage', value='Your SMSs are being sent to a mobile search and rescue team. ' + \ 'Reply to this message to communicate.' ), ]) HLRDBSession.add_all([ Subscriber( created=datetime.datetime.fromtimestamp(time.time()), updated=datetime.datetime.fromtimestamp(time.time()), imsi=pf_subscriber_imsi, name=pf_subscriber_name, extension=pf_subscriber_extension, authorized=1, lac=0 ) ])
def main(global_config, **settings): engine = engine_from_config(settings, 'sqlalchemy.pf.') DBSession.configure(bind=engine) Base.metadata.bind = engine engine = engine_from_config(settings, 'sqlalchemy.hlr.') HLRDBSession.configure(bind=engine) xmlrpc_url = 'http://%(xmlrpc.host)s:%(xmlrpc.port)s' % settings xmlrpc = lambda request: xmlrpclib.ServerProxy(xmlrpc_url) tile_dir = lambda request: settings.get('tile_dir') config = Configurator(settings=settings) config.include('pyramid_mako') config.add_static_view('static', 'static', cache_max_age=3600) config.add_route('home', '/') config.add_route('configuration', '/configuration') config.add_route('start_tracking', '/tracking/start') config.add_route('stop_tracking', '/tracking/stop') config.add_route('get_imsi_list', '/imsi/list') config.add_route('get_imsi_messages', 'imsi/{imsi}/messages') config.add_route('get_imsi_circles', 'imsi/{imsi}/circles') config.add_route('send_imsi_message', 'imsi/{imsi}/message') config.add_route('download_tiles_start', '/tiles/download/start') config.add_route('download_tiles_stop', '/tiles/download/stop') config.add_route('download_tiles_status', '/tiles/download/status') config.add_static_view(name='tiles', path=settings.get('tile_dir')) config.add_route('clear_data', '/data/clear/all') config.add_request_method(xmlrpc, 'xmlrpc', reify=True) config.add_request_method(tile_dir, 'tile_dir', reify=True) config.scan() return config.make_wsgi_app()
from wsgiref.simple_server import make_server from pyramid.session import SignedCookieSessionFactory from pyramid.config import Configurator from sqlalchemy import engine_from_config from model.models import DBSession, Base my_session_factory = SignedCookieSessionFactory ('kvbjoeifHG4woi7rtc3ndxhq3x0xj398HR47yroq3dj93r98yriwxhiuhd7teu7e') settings = {'sqlalchemy.url': 'sqlite:///./database/logurlaccess.db', 'sqlalchemy.echo': 'True'} if __name__ == '__main__': with Configurator ( ) as config: engine = engine_from_config (settings, 'sqlalchemy.') DBSession.configure (bind=engine) Base.metadata.bind = engine Base.metadata.create_all (engine) config.add_route ('home', '/') config.add_route ('quotes', '/quotes') config.add_route ('values', '/quotes/{value}') config.add_route ('consultas', '/consultas') config.set_session_factory (my_session_factory) config.include ('pyramid_jinja2') config.scan ('views') app = config.make_wsgi_app ( ) server = make_server ('0.0.0.0', 8080, app) server.serve_forever ( )