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()
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)
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)
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()
def my_view(request): tags = DBSession.query(Tag).all() return {'project': 'blog', 'tags': tags}
def new(request): tag = Tag(label="A tagssds %s" % random.random()) DBSession.add(tag) DBSession.commit() return {}
def my_view(request): tags = DBSession.query(Tag).all() return {'project':'blog', 'tags': tags}