From 39824711f06cd6c650b17fb17b28c2db2faa5720 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Mon, 23 Feb 2015 23:21:39 -0800 Subject: [PATCH 1/2] memento tweak: ensure rel=memento link for timegate uses exact in Location (cdx original) as opposed to url from request --- pywb/framework/memento.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pywb/framework/memento.py b/pywb/framework/memento.py index 29fe7ca8..d5604bc6 100644 --- a/pywb/framework/memento.py +++ b/pywb/framework/memento.py @@ -74,10 +74,13 @@ class MementoRespMixin(object): is_memento = (wbrequest.wb_url.type == wbrequest.wb_url.REPLAY) link = [] + req_url = wbrequest.wb_url.url if is_memento or is_timegate: + url = req_url if cdx: ts = cdx['timestamp'] + url = cdx['original'] # for top frame elif wbrequest.wb_url.timestamp: ts = wbrequest.wb_url.timestamp @@ -91,13 +94,14 @@ class MementoRespMixin(object): self.status_headers.headers.append(('Memento-Datetime', http_date)) - canon_link = wbrequest.urlrewriter.get_new_url(mod='', timestamp=ts) + canon_link = wbrequest.urlrewriter.get_new_url(mod='', + timestamp=ts, + url=url) + link.append(self.make_memento_link(canon_link, 'memento', http_date)) - req_url = wbrequest.wb_url.url - if is_memento and is_timegate: link.append(self.make_link(req_url, 'original timegate')) else: From cb857df125f4da1d815c62c564c4cfe86cb1ffa1 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Tue, 24 Feb 2015 10:35:49 -0800 Subject: [PATCH 2/2] memento: fix MementoTimemapView to have consistent signature with other query views --- pywb/webapp/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pywb/webapp/views.py b/pywb/webapp/views.py index 11624a22..036977a1 100644 --- a/pywb/webapp/views.py +++ b/pywb/webapp/views.py @@ -189,7 +189,7 @@ class J2HtmlCapturesView(J2TemplateView): #================================================================= class MementoTimemapView(object): - def render_response(self, wbrequest, cdx_lines): + def render_response(self, wbrequest, cdx_lines, **kwargs): memento_lines = make_timemap(wbrequest, cdx_lines) return WbResponse.text_stream(memento_lines, content_type=LINK_FORMAT)