From 584d826f05b6b07a40ce62fa033795ddd1e685cc Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Sat, 8 Mar 2014 15:10:35 -0800 Subject: [PATCH] rewrite: fix html rewriting, if forcing end , , don't actually output to preserve original wombat: copy over all Location settings wburl: convert :/ -> :// if 2nd slash missing, only check for :/ and ignore subsequent slashes --- pywb/rewrite/html_rewriter.py | 5 ++++- pywb/rewrite/test/test_rewrite.py | 8 ++++---- pywb/rewrite/url_rewriter.py | 2 +- pywb/rewrite/wburl.py | 20 +++++++++++++++++--- pywb/static/wombat.js | 24 ++++++++++++++++++++++-- 5 files changed, 48 insertions(+), 11 deletions(-) diff --git a/pywb/rewrite/html_rewriter.py b/pywb/rewrite/html_rewriter.py index 93b89228..07db475f 100644 --- a/pywb/rewrite/html_rewriter.py +++ b/pywb/rewrite/html_rewriter.py @@ -196,7 +196,10 @@ class HTMLRewriter(HTMLParser): # HTMLParser overrides below def close(self): if (self._wb_parse_context): - result = self.rewrite('') + end_tag = '' + result = self.rewrite(end_tag) + if result.endswith(end_tag): + result = result[:-len(end_tag)] self._wb_parse_context = None else: result = '' diff --git a/pywb/rewrite/test/test_rewrite.py b/pywb/rewrite/test/test_rewrite.py index 954bd035..7164b81f 100644 --- a/pywb/rewrite/test/test_rewrite.py +++ b/pywb/rewrite/test/test_rewrite.py @@ -53,9 +53,9 @@ r""" >>> parse('') -# Unterminated script tag auto-terminate +# Unterminated script tag, handle but don't auto-terminate >>> parse(' +') @@ -66,9 +66,9 @@ r""" >>> parse('') -# Unterminated style tag auto-terminate +# Unterminated style tag, handle but don't auto-terminate >>> parse(' +