diff -r f5e18f8ed036 -r de4a2ed2f34b sphinx_django/sphinxcomment/views.py --- a/sphinx_django/sphinxcomment/views.py Fri Oct 15 15:59:28 2010 +0530 +++ b/sphinx_django/sphinxcomment/views.py Wed Oct 27 13:59:11 2010 +0530 @@ -10,10 +10,12 @@ from django.template import Context from django.template.loader import get_template from django.utils.simplejson import dumps - +from django.conf import settings +from os.path import join, splitext +from BeautifulSoup import BeautifulSoup as bss, Tag -placeholder_string = open('paragraph_id.py').read() -exec placeholder_string +#placeholder_string = open('paragraph_id.py').read() +#exec placeholder_string def dump_queries(): # requires settings.DEBUG to be set to True in order to work @@ -38,46 +40,36 @@ def comments_by_chapter(chapter): objs = {} - try: - para_list=p_list[chapter] - - for paragraph_id in para_list: - objs[paragraph_id]=[] - - except: - para_list=[] - - for paragraph_id in para_list: - print chapter ,paragraph_id - for c in Comment.objects.filter(element__chapter_name=chapter,element__paragraph_id=paragraph_id).order_by('date'): - - objs[paragraph_id].append(c) + for c in Comment.objects.filter(element__chapter_name=chapter).order_by('date'): + objs.setdefault(c.element.paragraph_id, []).append(c) + return objs + -def chapter(request): - template = get_template('comment.html') - resp = {} - for elt, comments in comments_by_chapter(chapter).iteritems(): - print elt ,comments - form = CommentForm(initial={ - 'paragraph_id': elt, - 'name': name - }) - resp[elt] = template.render(Context({ - 'paragraph_id': elt, - 'form': form, - 'length': len(comments), - 'query': comments, - })) - return HttpResponse(dumps(resp), mimetype='application/json') +# def chapter(request): +# template = get_template('comment.html') +# resp = {} +# for elt, comments in comments_by_chapter(chapter).iteritems(): +# print elt ,comments +# form = CommentForm(initial={ +# 'paragraph_id': elt, +# 'name': name +# }) +# resp[elt] = template.render(Context({ +# 'paragraph_id': elt, +# 'form': form, +# 'length': len(comments), +# 'query': comments, +# })) +# return HttpResponse(dumps(resp), mimetype='application/json') def chapter_count(request,chapter_name): print chapter_name @@ -98,7 +90,7 @@ if paragraph_id[-1]=='/': paragraph_id=paragraph_id[:-1] queryset = Comment.objects.filter(element=paragraph_id) - print paragraph_id + print len(queryset) if form is None: form = CommentForm(initial={ 'paragraph_id': paragraph_id, @@ -163,8 +155,27 @@ string="

test comment

" return HttpResponse(string,mimetype="text/plain") - - +def page(req, path): + if splitext(path)[1] == '.html': + soup = bss(open(join(settings.SPHINX_PROJECT, path)).read()) + head = soup.find('head') + first_script = Tag(soup, 'script') + first_script['src'] = "../_static/simplecomment.js" + first_script['type'] = "text/javascript" + second_script = Tag(soup, 'script') + second_script['src'] = "../_static/jquery.form.js" + second_script['type'] = "text/javascript" + head.insert(-1, first_script) + head.insert(-1, second_script) + counter = 0 + page_identity = path.split('.')[0].replace('/', '_') + for p in soup.findAll('p'): + p['id'] = '%s_%s' %(page_identity, counter) + counter += 1 + return HttpResponse(str(soup)) + else: + return HttpResponse(open(join(settings.SPHINX_PROJECT, path)).read()) + #return HttpResponse(dumps(string),mimetype="text/plain") #test= csrf_exempt(test)