(Arne Babenhauserheide)
2014-05-18: fix API breakage (changesettemplater now takes a tmpl argument). fix API breakage (changesettemplater now takes a tmpl argument).
diff --git a/staticsite.py b/staticsite.py --- a/staticsite.py +++ b/staticsite.py @@ -729,11 +729,20 @@ def parsereadme(filepath, truncated=Fals except ImportError: return "<pre markdown=\"1\" style=\"white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;\">" + text + "</pre>" +def simpletemplater(ui, repo, tmpl): + """Get a simple templater, resolving API changes on the way.""" + # TODO: first check for 3.x, then for older versions. Requires checking the error in old versions. + try: + t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False) + t.use_template(tmpl) + except TypeError: # 3.0? + t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, tmpl=tmpl, mapfile=None, buffered=False) + return t + def overviewlogstring(ui, repo, revs, template=templates["commitlog"]): """Get the string for a log of the given revisions for the overview page.""" ui.pushbuffer() - t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False) - t.use_template(template.replace("{relativepath}", "")) + t = simpletemplater(ui, repo, template.replace("{relativepath}", "")) for c in revs: ctx = repo.changectx(c) t.show(ctx) @@ -802,13 +811,14 @@ def writeoverview(ui, repo, target, name overview += "</div>" break + + ui.debug("[staticsite] writeoverview: shortlog\n") # now add the 5 most recent log entries # divert all following ui output to a string, so we can just use standard functions overview += "\n<div id='shortlog'><h2>Changes (<a href='commits'>full changelog</a>)</h2>\n" ui.pushbuffer() - t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False) - t.use_template(templates["commitlog"].replace("{relativepath}", "")) + t = simpletemplater(ui, repo, templates["commitlog"].replace("{relativepath}", "")) for c in range(1, min(len(repo.changelog), 5)): ctx = repo.changectx(str(-c)) t.show(ctx) @@ -895,8 +905,7 @@ def writelog(ui, repo, target, name): os.makedirs(d) # create the log files - t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False) - t.use_template(templates["commitlog"].replace("{relativepath}", "../")) + t = simpletemplater(ui, repo, templates["commitlog"].replace("{relativepath}", "../")) logs = [] for ck in range(len(repo.changelog)/100+1): ui.pushbuffer() @@ -1076,8 +1085,7 @@ def getforkdata(ui, repo, target, name, "{relpath}", "../../") # prepare the log templater - t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False) - t.use_template(templates["commitlog"].replace( + t = simpletemplater(ui, repo, templates["commitlog"].replace( "{relativepath}", "../../")) # Add incoming commits @@ -1148,8 +1156,7 @@ def writecommitsforchlist(ui, repo, targ if not os.path.isdir(commit): os.makedirs(commit) - t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False) - t.use_template(templates["commitlog"].replace("{relativepath}", "../")) + t = simpletemplater(ui, repo, templates["commitlog"].replace("{relativepath}", "../")) for c in chlist: ctx = repo.changectx(str(c))