Exemple #1
0
def _initTestingDB():
    from mymain.models import DBSession
    from mymain.models import Base
    from sqlalchemy import create_engine
    engine = create_engine('sqlite:///:memory:')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine
    Base.metadata.create_all(engine)
    return DBSession
Exemple #2
0
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)
Exemple #3
0
def add_page(request):
    name = request.matchdict['pagename']
    if 'form.submitted' in request.params:
        session = DBSession()
        body = request.params['body']
        page = Page(name, body)
        session.add(page)
        return HTTPFound(location = request.route_url('view_page',
            pagename=name))

    save_url = request.route_url('add_page', pagename=name)
    page = Page('', '')
    logged_in = authenticated_userid(request)
    return dict(page=page, save_url=save_url, logged_in = logged_in)
Exemple #4
0
 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')
Exemple #5
0
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)
Exemple #6
0
 def tearDown(self):
     from mymain.models import DBSession
     DBSession.remove()
Exemple #7
0
 def setUp(self):
     from mymain.models import DBSession
     DBSession.remove()
Exemple #8
0
 def tearDown(self):
     del self.testapp
     from mymain.models import DBSession
     DBSession.remove()