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)
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