# # # patch "templates/revisioninfo.html" # from [2292f6acf015523618317e0eab6dc5c708b811c5] # to [f78b63b0bea3ba8971396d33e0ce9e7b0477847d] # # patch "viewmtn.py" # from [0a1db513b54d312b1086acd1d14804efb2170fb9] # to [f64c08da43d7339e847ed1cddd44939c349bf9e7] # ============================================================ --- templates/revisioninfo.html 2292f6acf015523618317e0eab6dc5c708b811c5 +++ templates/revisioninfo.html f78b63b0bea3ba8971396d33e0ce9e7b0477847d @@ -7,7 +7,16 @@ #for cert in $certs - + + #end for
$cert['name']$cert['value'] + #filter Filter + $cert['name'] + #filter WebSafe + + #filter Filter + $cert['value'] + #filter WebSafe +
@@ -17,12 +26,12 @@ #for stanza_type, descr, value in $revisions - -
+ #filter Filter $descr #filter WebSafe + #filter Filter $value #filter WebSafe ============================================================ --- viewmtn.py 0a1db513b54d312b1086acd1d14804efb2170fb9 +++ viewmtn.py f64c08da43d7339e847ed1cddd44939c349bf9e7 @@ -1,9 +1,10 @@ #!/usr/bin/env python import cgi import mtn import web import config +import urllib import urlparse hq = cgi.escape @@ -52,23 +53,47 @@ class BranchLink(Link): def __init__(self, branch, **kwargs): Link.__init__(*(self, ), **kwargs) - self.relative_uri = 'branch/changes/' + hq(branch.name) + self.relative_uri = 'branch/changes/' + urllib.quote(branch.name) self.description = hq(branch.name) +class DiffLink(Link): + def __init__(self, diff, **kwargs): + Link.__init__(*(self, ), **kwargs) + self.relative_uri = 'revision/diff/' + diff.from_rev + '/with/' + diff.to_rev + self.description = "diff" + +class Diff: + def __init__(self, from_rev, to_rev, file): + self.obj_type = 'diff' + self.file = file + self.from_rev = from_rev + self.to_rev = to_rev + +def prettify(s): + return ' '.join( + map(lambda x: hq(x[0].upper() + x[1:]), + s.replace("_", " ").split(" "))) + def certs_for_template(cert_gen): for cert in cert_gen: if cert[0] == 'key' and len(cert) != 10: raise Exception("Not a correcly formatted certificate: %s" % cert) if cert[3] != 'ok': raise Exception("Certificate failed check.") - yield { 'key' : cert[1], - 'name' : cert[5], - 'value' : cert[7] } -def revisions_for_template(rev_gen): - def prettify(s): - return ' '.join(map(lambda x: hq(x[0].upper() + x[1:]), s.replace("_", " ").split(" "))) + key = cert[1] + name = cert[5] + value = cert[7] + if name == "branch": + value = link(mtn.Branch(value)).html() + else: + value = '
'.join(map(hq, value.split('\n'))) + yield { 'key' : key, + 'name' : prettify(name), + 'value' : value } + +def revisions_for_template(rev_gen): for stanza in rev_gen: stanza_type = stanza[0] description, value = prettify(stanza_type), None @@ -83,6 +108,8 @@ # skip it here if not from_id: continue + value = "Patch file %s (%s)" % ("not yet", + link(Diff(from_id, to_id, fname)).html()) else: value = "(this stanza type is not explicitly rendered; please report this.)\n%s" % hq(str(stanza)) @@ -91,7 +118,8 @@ type_to_link_class = { 'tag' : TagLink, - 'branch' : BranchLink + 'branch' : BranchLink, + 'diff' : DiffLink, } def link(obj):