Beispiel #1
0
def main(global_config, **settings):
    """ This function returns a WSGI application.
    
    It is usually called by the PasteDeploy framework during 
    ``paster serve``.
    """

    engine = create_engine('sqlite:///blog.db')
    DBSession.configure(bind=engine)
    metadata.create_all(engine)

    settings = dict(settings)
    # settings.setdefault('jinja2.i18n.domain', 'blog')

    config = Configurator(root_factory=get_root,
                          settings=settings,
                          session_factory=my_session_factory)
    # config.add_translation_dirs('locale/')
    config.include('pyramid_jinja2')
    # config.include('pyramid_tm')

    config.include('pyramid_admin')

    config.add_static_view('static', 'static')
    config.add_view('blog.views.my_view', renderer="mytemplate.jinja2")

    config.add_view('blog.views.new', name='new', renderer="json")

    # config.add_admin_view('user_admin', '/admin/users/', UserAdminView)
    config.add_admin_site('/admin/')
    config.include('blog.admin')
    config.set_sqla_session_factory(session_factory)
    config.set_admin_authz_policy(AdminAuthzPolicy())
    register_adapters(config.registry)
    return config.make_wsgi_app()
Beispiel #2
0
    def save_session(self, app, session, response):
        domain = self.get_cookie_domain(app)

        if not session:
            response.delete_cookie(app.session_cookie_name, domain=domain)
            return

        if self.get_expiration_time(app, session):
            expiration = self.get_expiration_time(app, session)
        else:
            expiration = datetime.utcnow() + timedelta(hours=12)
            #expiration = datetime.utcnow() + timedelta(seconds=15)

        try:
            stored_session = DBSession.query.filter_by(sid=session.sid).one()
        except NoResultFound:
            stored_session = None

        if not stored_session:
            stored_session = DBSession(sid=session.sid)

        # Serialize the session dict to json and store that in the rdbms' clob field
        data = json.dumps(session)
        stored_session.data = data
        stored_session.expiration_date = expiration
        # Write session to DB

        self.db.session.add(stored_session)
        self.db.session.commit()

        response.set_cookie(app.session_cookie_name,
                            session.sid,
                            expires=self.get_expiration_time(app, session),
                            httponly=True,
                            domain=domain)
Beispiel #3
0
def main(argv=sys.argv):
    if len(argv) < 2:
        usage(argv)
    config_uri = argv[1]
    options = parse_vars(argv[2:])
    setup_logging(config_uri)
    settings = get_appsettings(config_uri, options=options)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.create_all(engine)
Beispiel #4
0
def main(argv=sys.argv):
    if len(argv) < 2:
        usage(argv)
    config_uri = argv[1]
    options = parse_vars(argv[2:])
    setup_logging(config_uri)
    settings = get_appsettings(config_uri, options=options)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.create_all(engine)
Beispiel #5
0
def main(global_config, **settings):
    """ This function returns a WSGI application.
    
    It is usually called by the PasteDeploy framework during 
    ``paster serve``.
    """

    engine =  create_engine('sqlite:///blog.db')
    DBSession.configure(bind=engine)
    metadata.create_all(engine)

    settings = dict(settings)
    # settings.setdefault('jinja2.i18n.domain', 'blog')

    config = Configurator(root_factory=get_root, settings=settings, session_factory = my_session_factory)
    # config.add_translation_dirs('locale/')
    config.include('pyramid_jinja2')
    # config.include('pyramid_tm')

    config.include('pyramid_admin')

    config.add_static_view('static', 'static')
    config.add_view('blog.views.my_view',
                    renderer="mytemplate.jinja2")

    config.add_view('blog.views.new', name='new',
                    renderer="json")


    # config.add_admin_view('user_admin', '/admin/users/', UserAdminView)
    config.add_admin_site('/admin/')
    config.set_sqla_session_factory(session_factory)
    config.set_admin_authz_policy(AdminAuthzPolicy())
    config.add_admin_view('tags', TagAdminView)
    config.add_admin_view('categories', CategoryAdminView)
    config.add_admin_view('posts', PostAdminView)
    register_adapters(config.registry)
    return config.make_wsgi_app()
Beispiel #6
0
def my_view(request):
    tags = DBSession.query(Tag).all()
    return {'project': 'blog', 'tags': tags}
Beispiel #7
0
def new(request):
    tag = Tag(label="A tagssds %s" % random.random())
    DBSession.add(tag)
    DBSession.commit()
    return {}
Beispiel #8
0
def my_view(request):
    tags = DBSession.query(Tag).all()
    return {'project':'blog', 'tags': tags}
Beispiel #9
0
def new(request):
    tag = Tag(label="A tagssds %s" % random.random())
    DBSession.add(tag)
    DBSession.commit()
    return {}