diff -r f5e18f8ed036 -r de4a2ed2f34b simplecomment.py --- a/simplecomment.py Fri Oct 15 15:59:28 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -# -*- coding: utf-8 -*- -""" - sphinx.builders.webapp - ~~~~~~~~~~~~~~~~~~~~~~ - - A web application builder. - - :copyright: Copyright 2007-2009 by the Sphinx team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import os -import sys -import codecs -import shutil -import cPickle -from os import path -from hashlib import md5 -from types import ListType, TupleType -import re - - -import jinja2 as j2 - -#from mercurial import commands, ui -#from mercurial.hg import repository - -from sphinx.builders.html import StandaloneHTMLBuilder -from sphinx.errors import SphinxError -from sphinx.web.dbutils import PidDb -from sphinx.web.webconfig import WebConfig -from sphinx.writers.html import HTMLTranslator - - - - - - -class SimpleCommentHTMLBuilder(StandaloneHTMLBuilder): - """ Static html pages with paragraph ids. - """ - def init(self): - self.app.add_javascript('simplecomment.js') - self.id_file_loc=os.path.join(self.outdir,'paragraph_id.py') - self.id_file=open(self.id_file_loc,'w') - self.beginning="p_list= " - self.id_dictionary={} - - StandaloneHTMLBuilder.init(self) - - def get_target_uri(self, docname, typ=None): - return docname + self.link_suffix - - def write_doc(self, docname, doctree): - StandaloneHTMLBuilder.write_doc(self, docname, doctree) - - def prepare_writing(self, docnames): - StandaloneHTMLBuilder.prepare_writing(self, docnames) - - def finish(self): - StandaloneHTMLBuilder.finish(self) - self.add_pids_to_paragraphs() - self.id_file.write(self.beginning+str(self.id_dictionary)) - - - def add_pids_to_paragraphs(self): - all_files=[] - for path,dir,filenames in os.walk(self.outdir): - for filename in filenames: - all_files.append(os.path.join(path, filename)) - - for element in all_files : - if element.split('.')[1]=='html': - self.id_list=[] - self.taggen(element) - self.id_dictionary[self.chapter.split('/')[-1]]=self.id_list - - else : - pass - - def retag(self,s): - self.biggest_id += 1 - id_name="%s_%x" % (self.chapter.split('/')[-1],self.biggest_id) - self.id_list.append(id_name) - - return '

' %id_name - - - - - def taggen(self,html_file_name): - tagged = re.compile('

]*>', re.M) - self.biggest_id=0 - self.chapter=html_file_name.split('.')[0] - - try: - f = open(html_file_name).read() - f1 = re.sub('

',self.retag, f ) - - - if f1 != f: - tmpname = html_file_name+ '.tmp' - fp = open(tmpname, 'w') - fp.write(f1) - fp.close() - os.rename(tmpname,html_file_name) - - except IOError: - pass - - -