Example #1
0
def includeme(config, debug=False):
    settings = config.registry.settings
    if len([k.startswith('sqlalchemy.') for k in settings]):
        engine = engine_from_config(settings, 'sqlalchemy.')
        initialize_sql(engine)
    # verify captcha settings
    captcha = get_registry_key('auth.use_captcha', False)
    if captcha:
        settings['apex.use_recaptcha_on_login'] = False
        settings['apex.use_recaptcha_on_forgot'] = False
        settings['apex.use_recaptcha_on_register'] = True
        settings['apex.use_recaptcha_on_reset'] = False
        settings['apex.use_recaptcha_on_useradd'] = False
        rpubk = get_registry_key('auth.recaptcha_public_key', '')
        rprivk =  get_registry_key('auth.recaptcha_private_key', '')
        if rpubk:
            settings['apex.recaptcha_public_key'] = rpubk
        if rprivk:
            settings['apex.recaptcha_private_key'] = rprivk



    projects_dir = settings.get('mobyle2.projects_dir')
    if not projects_dir: raise Exception('please configure mobyle2.projects_dir')
    if not os.path.exists(projects_dir):
        try:
            os.makedirs(projects_dir)
            os.chmod(projects_dir, 0600)
        except Exception, e:
            raise Exception('Cant create directory: %s' % projects_dir)
Example #2
0
def velruse_config(config):
    settings = config.registry.settings

    settings['velruse.openid.store'] = 'mobyle2.core.velruse.get_sqlstore'
    #settings['velruse.openid.realm'] = settings.get('velruse.openid.realm', 'realm')
    key = 'velruse.store.'
    if not key+'url' in settings:
        key = 'sqlalchemy.'
    engine = engine_from_config(settings, key)
    providers = settings.get('velruse.providers', '')
    initialize_sql(engine)
    for ab in session.query(AuthenticationBackend).filter(
        AuthenticationBackend.enabled == True
    ):
        t = ab.backend_type
        if ab.backend_type in ['ldap']:
            providers += '\n%s' % 'velruse.providers.ldapprovider'
            url = 'ldap'
            if ab.use_ssl:
                url += 's'
            url += '://%s' % ab.hostname
            if ab.port:
                url +=':%s' % ab.port
            lk = 'velruse.providers.ldapprovider.urls'
            settings[lk] = settings.get(lk, '')+'\n%s' % url
            settings['velruse.providers.ldapprovider.basedn'] = ab.ldap_dn
        if ab.backend_type in ['openid',]:
            providers += '\n%s' % 'velruse.providers.openidconsumer'
            if ab.realm:
                settings['velruse.openid.realm'] = ab.realm
        if ab.backend_type in ['twitter', 'github', 'google', 'facebook']:
            providers += '\n%s' % 'velruse.providers.%s' % (t)
            settings['velruse.%s.consumer_key'    % (t)] = ab.username
            settings['velruse.%s.consumer_secret' % (t)] = ab.password
            if ab.authorize:
                if ab.backend_type in ['twitter', 'github', 'google', 'facebook']:
                    settings['velruse.%s.authorize' %(t)] = ab.authorize
                if ab.backend_type in ['github']:
                    settings['velruse.%s.scope' %(t)] = ab.authorize
		if ab.backend_type=='facebook':
		    settings['velruse.%s.app_id' %(t)] = ab.username
		    settings['velruse.%s.app_secret' %(t)] = ab.password
    settings['velruse.providers'] = providers
def _initTestingDB():
    from sqlalchemy import create_engine
    initialize_sql(create_engine('sqlite://'))
    session = DBSession()
    return session