Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Views.py
- from docutils.core import publish_parts
- import re
- import random
- from webob.exc import HTTPFound
- from repoze.bfg.url import model_url
- from repoze.bfg.security import authenticated_userid
- from repoze.bfg.view import bfg_view
- from tutorial.models import Page
- from tutorial.models import Wiki
- from repoze.catalog.indexes.field import CatalogFieldIndex
- from repoze.catalog.indexes.text import CatalogTextIndex
- from repoze.catalog.catalog import Catalog
- from repoze.catalog.catalog import FileStorageCatalogFactory
- from repoze.catalog.catalog import ConnectionManager
- from datetime import datetime
- from repoze.catalog.document import DocumentMap
- factory = FileStorageCatalogFactory('catalog.db', 'mycatalog')
- manager = ConnectionManager()
- catalog = factory(manager)
- #catalog =Catalog()
- # regular expression used to find WikiWords
- wikiwords = re.compile(r"\b([A-Z]\w+[A-Z]+\w+)")
- @bfg_view(for_=Wiki, permission='view')
- def view_wiki(context, request):
- return HTTPFound(location = model_url(context, request, 'FrontPage'))
- @bfg_view(for_=Page, renderer='templates/view.pt', permission='view')
- def view_page(context, request):
- wiki = context.__parent__
- def check(match):
- word = match.group(1)
- if word in wiki:
- page = wiki[word]
- view_url = model_url(page, request)
- return '<a href="%s">%s</a>' % (view_url, word)
- else:
- add_url = request.application_url + '/add_page/' + word
- return '<a href="%s">%s</a>' % (add_url, word)
- content = publish_parts(context.data, writer_name='html')['html_body']
- content = wikiwords.sub(check, content)
- edit_url = model_url(context, request, 'edit_page')
- logged_in = authenticated_userid(request)
- numdocs, results = catalog.search(data=('mtb', 'mtb'))
- indexnumber = context.docid
- zz = DocumentMap()
- print "%%%%%%%%%%%%%%%%%%%%%%%%%%%% docid is ", indexnumber
- print "address_for_docid(docid) is :", zz.address_for_docid(indexnumber)
- print "%%%%%%%%%%%%%%%%%%%%%%%%%%%% docid is ", indexnumber
- """
- print "==================",(numdocs, [ x for x in results ])
- print (numdocs, [ x for x in results ])
- numdocs1, results1 = catalog.search(data=('srikanth', 'srikanth'))
- print "==================",(numdocs1, [ x for x in results1 ])
- print (numdocs1, [ x for x in results1 ])
- numdocs2, results2 = catalog.search(data=('', ''))
- print "==================Empty",(numdocs2, [ x for x in results2 ])
- print (numdocs2, [ x for x in results2 ])
- numdocs3, results3 = catalog.search()
- print "==================catalog.search() ",(numdocs3, [ x for x in results3 ])
- print (numdocs3, [ x for x in results3 ])
- """
- Approved = [x for x in range(100)]
- return dict(page = context, content = content, edit_url = edit_url,
- logged_in = logged_in, Approved =Approved, results=results, catalog = catalog )
- @bfg_view(for_=Wiki, name='add_page', renderer='templates/edit.pt',
- permission='edit')
- def add_page(context, request):
- name = request.subpath[0]
- if 'form.submitted' in request.params:
- body = request.params['body']
- page = Page(body,authenticated_userid(request))
- page.__name__ = name
- page.__parent__ = context
- context[name] = page
- return HTTPFound(location = model_url(page, request))
- save_url = model_url(context, request, 'add_page', name)
- page = Page('',authenticated_userid(request))
- page.__name__ = name
- page.__parent__ = context
- logged_in = authenticated_userid(request)
- return dict(page = page, save_url = save_url, logged_in = logged_in)
- @bfg_view(for_=Page, name='edit_page', renderer='templates/edit.pt',
- permission='edit')
- def edit_page(context, request):
- logged_in = authenticated_userid(request)
- indexnumber = context.docid
- if 'form.submitted' in request.params:
- context.data = request.params['body']
- catalog['data'] = CatalogFieldIndex('data')
- catalog['username'] = CatalogTextIndex('username')
- super(Page, context).__init__()
- context.catalog = Catalog()
- context.update_indexes()
- context.catalog.document_map = DocumentMap()
- catalog.index_doc(indexnumber, context)
- #catalog.index_doc(indexnumber, {'data':context.data})
- # commit the indexes
- manager.commit()
- #manager.close()
- return HTTPFound(location = model_url(context, request))
- print "==========================DocId is ", indexnumber
- return dict(page = context,
- save_url = model_url(context, request, 'edit_page'),
- logged_in = logged_in)
Add Comment
Please, Sign In to add comment