def test_it(self): from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') self._callFUT(engine) from tutorial.models import DBSession, Page self.assertEqual(DBSession.query(Page).one().data, 'This is the front page')
def wikipage_add(self): form = self.wiki_form.render() if 'submit' in self.request.params: controls = self.request.POST.items() try: appstruct = self.wiki_form.validate(controls) except deform.ValidationFailure as e: # Form is NOT valid return dict(form=e.render()) # Add a new page to the database new_title = appstruct['title'] new_body = appstruct['body'] DBSession.add(Page(title=new_title, body=new_body)) # Get the new ID and redirect page = DBSession.query(Page).filter_by(title=new_title).one() new_uid = page.uid # Now visit new page url = self.request.route_url('wikipage_view', uid=new_uid) return HTTPFound(url) return dict(form=form)
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 = route_url('view_page', request, pagename=name)) return dict( page=page, save_url = route_url('edit_page', request, pagename=name), )
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=route_url('view_page', request, pagename=name)) return dict( page=page, save_url=route_url('edit_page', request, pagename=name), )
def view_page(request): matchdict = request.matchdict session = DBSession() page = session.query(Page).filter_by(name=matchdict['pagename']).one() def check(match): word = match.group(1) exists = session.query(Page).filter_by(name=word).all() if exists: view_url = route_url('view_page', request, pagename=word) return '<a href="%s">%s</a>' % (view_url, word) else: add_url = route_url('add_page', request, 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 = route_url('edit_page', request, pagename=matchdict['pagename']) return dict(page=page, content=content, edit_url=edit_url)
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 = route_url('view_page', request, pagename=word) return '<a href="%s">%s</a>' % (view_url, word) else: add_url = route_url('add_page', request, 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 = route_url('edit_page', request, pagename=pagename) logged_in = authenticated_userid(request) return dict(page=page, content=content, edit_url=edit_url, logged_in=logged_in)
def wikipage_edit(self): uid = int(self.request.matchdict['uid']) page = DBSession.query(Page).filter_by(uid=uid).one() wiki_form = self.wiki_form if 'submit' in self.request.params: controls = self.request.POST.items() try: appstruct = wiki_form.validate(controls) except deform.ValidationFailure as e: return dict(page=page, form=e.render()) # Change the content and redirect to the view page['title'] = appstruct['title'] page['body'] = appstruct['body'] url = self.request.route_url('wikipage_view', uid=page['uid']) return HTTPFound(url) form = self.wiki_form.render( dict(uid=page.uid, title=page.title, body=page.body)) return dict(page=page, form=form)
def test_it(self): self._callFUT({'sqlalchemy.url':'sqlite://'}) from tutorial.models import DBSession, Page self.assertEqual(DBSession.query(Page).one().data, 'This is the front page')
def test_it(self): self._callFUT({'sqlalchemy.url': 'sqlite://'}) from tutorial.models import DBSession, Page self.assertEqual( DBSession.query(Page).one().data, 'This is the front page')
def my_view(request): dbsession = DBSession() root = dbsession.query(MyModel).filter(MyModel.name==u'root').first() return {'root':root, 'project':'tutorial'}
def wikipage_view(self): uid = int(self.request.matchdict['uid']) page = DBSession.query(Page).filter_by(uid=uid).one() return dict(page=page)
def wiki_view(self): pages = DBSession.query(Page).order_by(Page.title) return dict(title='Wiki View', pages=pages)