def generate_html_for_revision_list(list_of_title_id_date1_date2_link): the_htmls = [] for title,revid,date_diff,date_for,link in list_of_title_id_date1_date2_link: li_html = """ <li> <input type="checkbox" id="checkbox%s" onchange="update_list();"/> [%s] <a href="%s" onmouseup="$('checkbox%s').checked = true; update_list();"> %s (diffed on %s) </a> -- scheduled for %s </li>""" % (revid, revid, link, revid, title,\ get_formatted_datetime(date_diff),\ get_formatted_date(date_for)) the_htmls.append(li_html) return "\n".join(the_htmls)
def generate_pages_and_index_for_revisions(self, revision_objects): output_dir = tempfile.mkdtemp(dir=self.config.tmp_directory) index_html = [] li_list = [] id_list = [] total_count = len([x for x in revision_objects if not x.hidden]) print "Total revisions:", total_count for rev_obj in revision_objects: if rev_obj.hidden: continue lines = rev_obj.content.splitlines() spans_per_line = [[] for l in lines] # TODO: escape string title = rev_obj.document_relative_path link = title + "__" + \ get_formatted_datetime(rev_obj.datetime_diffed_on) + ".html" scheduled_date = get_formatted_date(rev_obj.scheduled_date) id_list.append(rev_obj.id) # that's not very pretty, so TODO just pass rev_obj... li_list.append((title,\ rev_obj.id, rev_obj.datetime_diffed_on,\ rev_obj.scheduled_date,\ link)) html = self.formatter.format(rev_obj) server_based_code = '' if getattr(self.config, 'use_local_server', False): server_based_code = """ <!--<script type="text/javascript" src="/js/jQuery.min.js"></script>--> <a href="http://localhost:%s/hidereview/?reviewid=%s">Don't show this review again</a> <script type="text/javascript"> window.deleteEntry = function() { document.location.href = 'http://localhost:%s/hidereview/?reviewid=%s'; } </script> """ % (localserver.SERVER_PORT, rev_obj.id, localserver.SERVER_PORT, rev_obj.id) html = apply_revision_content_template(title, html, server_based_code) # TODO: error handling f = codecs.open(os.path.join(output_dir, link), "w", "utf-8") f.write(html) f.close() index_path = os.path.join(output_dir, "index.html") f = open(index_path, "w") f.write(apply_revision_list_template(\ generate_html_for_revision_list(\ li_list), id_list, output_dir)) f.close() print "Finished generation. Index at", index_path print "Total revisions:", total_count return output_dir