def test_it(self): from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') self._callFUT(engine) from mymain.models import DBSession, Page self.asserEqual(DBSession.query(Page).one().data, 'This is the front page')
def edit_page(request): name = request.matchdict['pagename'] session = DBSession() page = session.query(Page).filter_by(name=name).one() if 'form.submitted' in request.params: page.data = request.params['body'] session.add(page) return HTTPFound(location = request.route_url('view_page', pagename=name)) logged_in = authenticated_userid(request) return dict(page=page, save_url=request.route_url('edit_page', pagename=name),logged_in = logged_in)
def view_page(request): pagename = request.matchdict['pagename'] session = DBSession() page = session.query(Page).filter_by(name=pagename).first() if page is None: return HTTPNotFound('No such page') def check(match): word = match.group(1) exists = session.query(Page).filter_by(name=word).all() if exists: view_url = request.route_url('view_page', pagename=word) return '<a href="%s">%s</a>' % (view_url, word) else: add_url = request.route_url('add_page', pagename=word) return '<a href="%s">%s</a>' % (add_url, word) content = publish_parts(page.data, writer_name='html')['html_body'] content = wikiwords.sub(check, content) edit_url = request.route_url('edit_page', pagename=pagename) logged_in = authenticated_userid(request) return dict(page=page, content=content, edit_url=edit_url, logged_in=logged_in)