# # # patch "common.py" # from [13c75961de7952e45b67d1597b2314ba086fd383] # to [3c16680cfaaa79a8b4d63d78cf01bc8596fcda2c] # # patch "manifest.psp" # from [0b7950e1378e9504dc1e4dc12165683c40bdf358] # to [8a3e1fc22093986e9d06978678dbc13b30c38357] # # patch "wrapper.py" # from [93473bdf155244968461912404e4692899cdd3f2] # to [4b4ab621c4585500073539f63f7468c713950275] # ============================================================ --- common.py 13c75961de7952e45b67d1597b2314ba086fd383 +++ common.py 3c16680cfaaa79a8b4d63d78cf01bc8596fcda2c @@ -19,11 +19,12 @@ # to add extra information when the user hovers on a link # -def link(mt, link_type, link_to, description = None): +def link(mt, link_type, link_to, description = None, no_quote = False): hq = html_escape() + if not no_quote and description != None: description = hq(description) if link_type == "revision": rv = '' % (urllib.quote(link_to)) - if description != None: rv += hq(description) + if description != None: rv += description else: rv += hq(link_to[:8]) + ".." rv += '' if description == None: rv = '[' + rv + ']' @@ -34,7 +35,7 @@ if len(link_to) == 3: uri += '&fname=%s' % (link_to[2]) rv = '' - if description != None: rv += hq(description) + if description != None: rv += description else: rv += "diff" rv += '' return rv @@ -46,30 +47,30 @@ raise Exception(link_to) rv = '' % (urllib.quote(link_to)) link_id = link_to - if description != None: rv += hq(description) + "" + if description != None: rv += description + "" else: rv = "[" + rv + hq(link_id[:8]) + ".." + "]" return rv elif link_type == "branch": rv = '' % (urllib.quote(link_to)) - if description != None: rv += hq(description) + if description != None: rv += description else: rv += hq(link_to) rv += '' return rv elif link_type == "tar": rv = '' % (urllib.quote(link_to)) - if description != None: rv += hq(description) + if description != None: rv += description else: rv = "tar of [" + rv + hq(link_to[:8]) + "..]" + "]" rv += '' return rv elif link_type == "headofbranch": rv = '' % (urllib.quote(link_to)) - if description != None: rv += hq(description) + if description != None: rv += description else: rv += "head of " + hq(link_to) rv += '' return rv elif link_type == "manifest": rv = '' % (urllib.quote(link_to)) - if description != None: rv += hq(description) + if description != None: rv += description else: rv += hq(link_to[:8]) + ".." rv += '' if description == None: rv = '[' + rv + ']' ============================================================ --- manifest.psp 0b7950e1378e9504dc1e4dc12165683c40bdf358 +++ manifest.psp 8a3e1fc22093986e9d06978678dbc13b30c38357 @@ -135,15 +135,15 @@ if certdate: ago = now - certdate if ago.days > 0: - ago = "%d days, %d hours" % (ago.days, ago.seconds / 3600) + ago = "%d days" % (ago.days) elif ago.seconds > 3600: hours = ago.seconds / 3600 minutes = (ago.seconds - (hours * 3600)) / 60 - ago = "%d hours, %d minutes" % (hours, minutes) + ago = "%d hours" % (hours) else: minutes = ago.seconds / 60 seconds = (ago.seconds - (minutes * 60)) - ago = "%d minutes, %d seconds" % (minutes, seconds) + ago = "%d minutes" % (minutes) revinfo[rev] = (ago, author, quicklog) if depth != 0: @@ -151,24 +151,22 @@ tr = TableWriter(req) tr.start() -tr.write('NameRevAgeAuthorLast log entry', is_header=True) +tr.write('NameAgeAuthorLast log entry', is_header=True) icon_uri = get_icon('', is_directory=True) for name, subdir in subdirs: - tr.write('%s' % (icon_uri, urllib.quote(id), urllib.quote(subdir), hq(name))) + tr.write('%s' % (icon_uri, urllib.quote(id), urllib.quote(subdir), hq(name))) for name, file_id, file in files: icon_uri = get_icon(file) rev = file_to_rev.get(file, None) if not rev: - tr.write('%s' % (icon_uri, link("file", [file_id, file], name))) + tr.write('%s' % (icon_uri, link("file", [file_id, file], name))) else: age, author, quicklog = revinfo[rev] - age = hq(age or "").replace(' ', ' ') author = hq(author or "").replace(' ', ' ') quicklog = hq(quicklog or "") - tr.write(' %s %s %s %s%s' % (icon_uri, \ + tr.write(' %s %s %s%s' % (icon_uri, \ link("file", [file_id, file], name), \ - link("revision", rev), \ - age, \ + link("revision", rev, (age or "").replace(' ', ' '), no_quote=True), author, \ quicklog)) tr.stop() ============================================================ --- wrapper.py 93473bdf155244968461912404e4692899cdd3f2 +++ wrapper.py 4b4ab621c4585500073539f63f7468c713950275 @@ -121,8 +121,8 @@ if uri.endswith('.psp') and sane_uri_re.match(uri[:-4]): req.content_type = "text/html" mt = Monotone(config.monotone, config.dbfile) - def our_link (link_type, link_to, description=None): - return common.link(mt, link_type, link_to, description) + def our_link (link_type, link_to, description=None, no_quote=False): + return common.link(mt, link_type, link_to, description, no_quote) vars = { 'mt' : mt, 'link' : our_link,