コード例 #1
0
    def on_chat(self, msg_id, msg):
        """Called by client-side: chat.emit("chat", {"foo": "bar"});"""
        r = redis.Redis()
        chat_line = msg

        chat = Chat(chat_line=chat_line,
                    user_pk=self.request.user.pk,
                    session_pk=int(msg_id))

        DBSession.add(chat)
        DBSession.commit()

        # only publish to the channel the message came from
        r.publish('chat:' + msg_id, dumps(chat.serialize()))
コード例 #2
0
ファイル: __init__.py プロジェクト: ppaez/pyvore
    def on_chat(self, msg_id, msg):
        """Called by client-side: chat.emit("chat", {"foo": "bar"});"""
        r = redis.Redis()
        chat_line = msg

        chat = Chat(chat_line=chat_line,
            user_pk=self.request.user.pk,
            session_pk=int(msg_id)
        )

        DBSession.add(chat)
        DBSession.commit()

        # only publish to the channel the message came from
        r.publish('chat:' + msg_id, dumps(chat.serialize()))
コード例 #3
0
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    session_factory = session_factory_from_settings(settings)
    authn_policy = AuthTktAuthenticationPolicy('pyvor3', callback=groupfinder)

    authz_policy = ACLAuthorizationPolicy()

    config = Configurator(settings=settings,
                          session_factory=session_factory,
                          authorization_policy=authz_policy,
                          authentication_policy=authn_policy)

    config.add_subscriber(handle_request, PasswordResetEvent)
    config.add_subscriber(handle_request, NewRegistrationEvent)
    config.add_subscriber(handle_request, RegistrationActivatedEvent)
    config.add_subscriber(handle_request, ProfileUpdatedEvent)

    config.registry.registerUtility(DBSession, ISession)

    jst = Bundle('templates/*.html',
                 filters='jst',
                 output='jst.js',
                 debug=False)

    config.add_webasset('jst', jst)

    # jinja2 configuration
    config.add_jinja2_extension('jinja2.ext.i18n')
    config.add_jinja2_extension('webassets.ext.jinja2.AssetsExtension')
    config.add_jinja2_search_path(os.path.join(here, 'templates'))
    config.add_jinja2_search_path("pyvore:templates")

    jinja2_env = config.get_jinja2_environment()

    assets_env = config.get_webassets_env()
    jinja2_env.assets_environment = assets_env

    renderer = jinja2_renderer_factory(
        search_paths=('pyvore:templates/', ),
        default_templates='deform_jinja2:bootstrap_templates',
        translator=PyramidTranslator())

    deform.Form.set_default_renderer(renderer)

    # The are from pyramid_signup, we are overriding them to use CouchForm
    # for rendering
    override_forms = [
        ISULoginForm, ISURegisterForm, ISUForgotPasswordForm,
        ISUResetPasswordForm, ISUProfileForm
    ]

    for form in override_forms:
        config.registry.registerUtility(PyvoreForm, form)

    config.registry.registerUtility(DBSession, ISUSession)

    config.include('pyvore.routes')

    config.scan()

    return config.make_wsgi_app()
コード例 #4
0
ファイル: __init__.py プロジェクト: ppaez/pyvore
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    session_factory = session_factory_from_settings(settings)
    authn_policy = AuthTktAuthenticationPolicy('pyvor3',
                 callback=groupfinder)

    authz_policy = ACLAuthorizationPolicy()

    config = Configurator(
        settings=settings,
        session_factory=session_factory,
        authorization_policy=authz_policy,
        authentication_policy=authn_policy
    )

    config.add_subscriber(handle_request, PasswordResetEvent)
    config.add_subscriber(handle_request, NewRegistrationEvent)
    config.add_subscriber(handle_request, RegistrationActivatedEvent)
    config.add_subscriber(handle_request, ProfileUpdatedEvent)

    config.registry.registerUtility(DBSession, ISession)

    jst = Bundle('templates/*.html',
            filters='jst',
            output='jst.js', debug=False)

    config.add_webasset('jst', jst)


    # jinja2 configuration
    config.add_jinja2_extension('jinja2.ext.i18n')
    config.add_jinja2_extension('webassets.ext.jinja2.AssetsExtension')
    config.add_jinja2_search_path(os.path.join(here, 'templates'))
    config.add_jinja2_search_path("pyvore:templates")

    jinja2_env = config.get_jinja2_environment()

    assets_env = config.get_webassets_env()
    jinja2_env.assets_environment = assets_env

    renderer = jinja2_renderer_factory(
        search_paths=(
            'pyvore:templates/',
        ),
        default_templates='deform_jinja2:bootstrap_templates',
        translator=PyramidTranslator()
    )

    deform.Form.set_default_renderer(renderer)

    # The are from pyramid_signup, we are overriding them to use CouchForm
    # for rendering
    override_forms = [
        ISULoginForm, ISURegisterForm, ISUForgotPasswordForm,
        ISUResetPasswordForm, ISUProfileForm
    ]

    for form in override_forms:
        config.registry.registerUtility(PyvoreForm, form)

    config.registry.registerUtility(DBSession, ISUSession)

    config.include('pyvore.routes')

    config.scan()

    return config.make_wsgi_app()