Esempio n. 1
0
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
            )
        ])
Esempio n. 2
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()
Esempio n. 3
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()
Esempio n. 4
0
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 ( )