diff -r 672eaaab9204 -r 52d12eb31c30 SEESenv/web/hgbook/comments/models.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SEESenv/web/hgbook/comments/models.py Fri Feb 12 01:11:21 2010 +0530 @@ -0,0 +1,86 @@ +from django.db import models +import hashlib +from django.conf import settings +from django.contrib.flatpages.models import FlatPage +import os +from BeautifulSoup import BeautifulSoup +import django +from django.utils.html import strip_tags +import djapian +from djapian.indexer import CompositeIndexer ,Indexer +mutable = True +#standard_url='localhost/review/html/' + + + +class Element(models.Model): + id = models.CharField('ID attribute', max_length=64, editable=False, + primary_key=True) + + chapter = models.CharField('Chapter ID', max_length=100, editable=False, + db_index=True) + title = models.CharField('Section title', max_length=256, editable=False) + + def __unicode__(self): + return self.id + +class Comment(models.Model): + element = models.ForeignKey(Element, + help_text='ID of paragraph that was commented on') + comment = models.TextField(editable=mutable, + help_text='Text of submitted comment (please do not modify)') + submitter_name = models.CharField('Submitter', max_length=64, + help_text='Self-reported name of submitter (may be bogus)') + submitter_url = models.URLField('URL', blank=True, editable=mutable, + help_text='Self-reported URL of submitter (may be empty or bogus)') + ip = models.IPAddressField('IP address', editable=mutable, + help_text='IP address from which comment was submitted') + date = models.DateTimeField('date submitted', auto_now=True, + auto_now_add=True) + reviewed = models.BooleanField(default=False, db_index=True, + help_text='Has this comment been reviewed by an author?') + hidden = models.BooleanField(default=False, db_index=True, + help_text='Has this comment been hidden from public display?') + + def __unicode__(self): + return self.comment[:32] + +# def get_absolute_url(self): +# s = hashlib.new() +# s.update(repr(self.comment)) +# s.update(repr(self.submitter_name)) +# s.update(str(self.date)) +# print '/read/%s.html#%s?comment=%s&uuid=%s' % ( +# self.element.chapter, self.element.id, self.id, s.hexdigest()[:20] +# ) +# return '/read/%s.html#%s?comment=%s&uuid=%s' % ( +# self.element.chapter, self.element.id, self.id, s.hexdigest()[:20] +# ) + + +""" +for directory,lists,files in os.walk('../html'): + if directory=='../html': + for file in files: + if file.endswith('.html'): + filename=os.path.join('../html/'+file) + f=open(filename,'r') + soup = BeautifulSoup(''.join(f.read())) + titletag=soup.html.head.title + body=strip_tags(soup.html.body) + c=FlatPage(url=standard_url+file,title=titletag.string,content=body) + c.save() + +class FlatPageIndexer( djapian.Indexer ): + fields = [ 'title', 'content' ] + + +djapian.space.add_index(FlatPage, FlatPageIndexer, attach_as="indexer") +FlatPage.indexer.update() +result = FlatPage.indexer.search('lists') +for row in result : + print row.instance.url +print result.count() + +""" +