Beispiel #1
0
    def view_page(self):
        pagename = self.request.matchdict['pagename']
        session = DBSession()
        page = session.query(SiteText).filter_by(name=pagename).first()
        if page is None:
            location = self.url(route='add_page', pagename=pagename)
            self.response = HTTPFound(location=location)
            return

        def check(match):
            word = match.group(1)
            exists = session.query(SiteText).filter_by(name=word).all()
            if exists:
                url = self.url(route='view_page', pagename=word)
            else:
                url = self.url(route='add_page', pagename=word)
            return self._anchor(url, word)
        # this is a sad "markup" system
        # good for a tutorial, but needs to be better
        # for actual use.
        content = render_rst(page.content)
        content = wikiwords.sub(check, content)

        edit_url = self.url(route='edit_page', pagename=pagename)
        # We should check the session here
        # this is from tutorial, but we need better
        # solution.
        #logged_in = authenticated_userid(self.request)
        l = self.layout
        l.title = "Wiki: %s" % page.name
        l.header = page.name
        l.content = content
        l.footer = self._anchor(edit_url, "Edit Page")
Beispiel #2
0
 def list_pages(self):
     session = DBSession()
     #pages = session.query(Page).all()
     pages = session.query(SiteText).filter_by(type='tutwiki').all()
     pagelist = []
     for page in pages:
         url = self.url(route='view_page', pagename=page.name)
         anchor = self._anchor(url, page.name)
         pagelist.append('<li>%s</li>' % anchor)
     ul = '<ul>%s</ul>' % '\n'.join(pagelist)
     self.layout.content = ul
Beispiel #3
0
 def edit_page(self):
     name = self.request.matchdict['pagename']
     session = DBSession()
     #page = session.query(Page).filter_by(name=name).one()
     page = session.query(SiteText).filter_by(name=name).one()
     if 'form.submitted' in self.request.params:
         self._edit_form_submitted(name, page=page)
         return
     save_url = self.url(route='edit_page', pagename=name)
     #logged_in = authenticated_userid(self.request)
     self.layout.content = EDIT_PAGE_FORM % (save_url, page.content)
Beispiel #4
0
def populate_groups():
    transaction.begin()
    session = DBSession()
    contacts = [
        ('Clark', 'Kent', '601-555-1212', '*****@*****.**'),
        ('Bruce', 'Wayne', '601-911-2012', '*****@*****.**'),
        ]
                        
    if not session.query(Contact).count():
        with transaction.manager:
            for c in contacts:
                contact = Contact(*c)
                session.add(contact)