diff --git a/pywb/apps/rewriterapp.py b/pywb/apps/rewriterapp.py index 9a0329d2..a0292732 100644 --- a/pywb/apps/rewriterapp.py +++ b/pywb/apps/rewriterapp.py @@ -78,10 +78,11 @@ class RewriterApp(object): self.redirect_to_exact = config.get('redirect_to_exact') self.banner_view = BaseInsertView(self.jinja_env, self._html_templ('banner_html')) + self.custom_banner_view = BaseInsertView(self.jinja_env, self._html_templ('custom_banner_html')) self.head_insert_view = HeadInsertView(self.jinja_env, self._html_templ('head_insert_html'), - self.banner_view) + self.custom_banner_view) self.frame_insert_view = TopFrameView(self.jinja_env, self._html_templ('frame_insert_html'), diff --git a/pywb/default_config.yaml b/pywb/default_config.yaml index 591d4ec9..1125aef6 100644 --- a/pywb/default_config.yaml +++ b/pywb/default_config.yaml @@ -12,6 +12,7 @@ templates_dir: templates # Template HTML banner_html: banner.html +custom_banner_html: custom_banner.html head_insert_html: head_insert.html frame_insert_html: frame_insert.html @@ -36,6 +37,7 @@ info_json: collinfo.json # HTML Templates List html_templates: - banner_html + - custom_banner_html - head_insert_html - frame_insert_html diff --git a/pywb/rewrite/templateview.py b/pywb/rewrite/templateview.py index a3f32f72..5dfce5fa 100644 --- a/pywb/rewrite/templateview.py +++ b/pywb/rewrite/templateview.py @@ -371,7 +371,7 @@ class HeadInsertView(BaseInsertView): if self.banner_view: banner_html = self.banner_view.render_to_string(env, cdx=cdx, **params) - params['banner_html'] = banner_html + params['custom_banner_html'] = banner_html return self.render_to_string(env, cdx=cdx, **params) diff --git a/pywb/templates/custom_banner.html b/pywb/templates/custom_banner.html new file mode 100644 index 00000000..db3026e7 --- /dev/null +++ b/pywb/templates/custom_banner.html @@ -0,0 +1 @@ + diff --git a/pywb/templates/head_insert.html b/pywb/templates/head_insert.html index b7cbe470..460b1c8e 100644 --- a/pywb/templates/head_insert.html +++ b/pywb/templates/head_insert.html @@ -62,7 +62,11 @@ {% endif %} -{{ banner_html }} +{% if not is_framed %} + +{{ custom_banner_html }} + +{% endif %} {% endautoescape %} diff --git a/tests/test_auto_colls.py b/tests/test_auto_colls.py index 0c706aa9..fced2fcc 100644 --- a/tests/test_auto_colls.py +++ b/tests/test_auto_colls.py @@ -275,18 +275,19 @@ class TestManagedColls(CollsDirMixin, BaseConfigTest): assert 'pywb custom search page' in resp.text def test_add_custom_banner(self): - """ Test adding custom banner.html per-collection template + """ Test adding custom_banner.html per-collection template """ banner_file = os.path.join(self.root_dir, COLLECTIONS, 'test', - 'templates', 'banner.html') + 'templates', 'custom_banner.html') with open(banner_file, 'w+b') as fh: fh.write(b'
Custom Banner Here!
') fh.write(b'\n{{ metadata | tojson }}') - def test_add_custom_banner_replay(self, fmod): - resp = self.get('/test/20140103030321/http://example.com/?example=1', fmod) + def test_add_custom_banner_replay(self): + """Test custom banner appears in unframed replay.""" + resp = self.get('/test/20140103030321/http://example.com/?example=1', None) assert '
Custom Banner Here!
' in resp.text def test_more_custom_templates(self): @@ -316,10 +317,9 @@ class TestManagedColls(CollsDirMixin, BaseConfigTest): #assert '"some":"value"' in resp.text, resp.text assert '{"some":"value"}' in resp.text, resp.text - def test_replay_banner_metadata(self, fmod): - """ Test adding metadata in replay banner (both framed and non-frame) - """ - resp = self.get('/test/20140103030321{0}/http://example.com/?example=1', fmod) + def test_replay_banner_metadata(self): + """Test adding metadata in custom banner for unframed replay.""" + resp = self.get('/test/20140103030321/http://example.com/?example=1', None) assert '
Custom Banner Here!
' in resp.text #assert '"some":"value"' in resp.text assert '{"some":"value"}' in resp.text, resp.text diff --git a/tests/test_prefixed_deploy.py b/tests/test_prefixed_deploy.py index 6072d73a..7639b8c7 100644 --- a/tests/test_prefixed_deploy.py +++ b/tests/test_prefixed_deploy.py @@ -35,7 +35,6 @@ class TestPrefixedDeploy(BaseConfigTest): assert '"20140127171238"' in resp.text, resp.text assert "'http://localhost:80/prefix/static/wombat.js'" in resp.text - assert "http://localhost:80/prefix/static/vue/vueui.js" in resp.text assert '"http://localhost:80/prefix/static/"' in resp.text assert '"http://localhost:80/prefix/pywb/"' in resp.text assert 'WBWombatInit' in resp.text, resp.text