diff --git a/pywb/apps/cli.py b/pywb/apps/cli.py index d04a7054..76e53aad 100644 --- a/pywb/apps/cli.py +++ b/pywb/apps/cli.py @@ -41,6 +41,7 @@ class BaseCli(object): parser.add_argument('-t', '--threads', type=int, default=4) parser.add_argument('-s', '--server', default='gevent') parser.add_argument('--debug', action='store_true') + parser.add_argument('--profile', action='store_true') self.desc = desc @@ -59,11 +60,12 @@ class BaseCli(object): logging.debug('No Gevent') self.r.server = 'wsgiref' - from pywb.framework.wsgi_wrappers import init_app - self.init_app = init_app - self.application = self.load() + if self.r.profile: + from werkzeug.contrib.profiler import ProfilerMiddleware + self.application = ProfilerMiddleware(self.application) + def _extend_parser(self, parser): #pragma: no cover pass @@ -109,7 +111,9 @@ class LiveCli(BaseCli): collections={'live': '$liveweb'}) from pywb.webapp.pywb_init import create_wb_router - return self.init_app(create_wb_router, load_yaml=False, config=config) + from pywb.framework.wsgi_wrappers import init_app + + return init_app(create_wb_router, load_yaml=False, config=config) #============================================================================= @@ -149,18 +153,20 @@ class ReplayCli(BaseCli): class CdxCli(ReplayCli): #pragma: no cover def load(self): from pywb.webapp.pywb_init import create_cdx_server_app + from pywb.framework.wsgi_wrappers import init_app super(CdxCli, self).load() - return self.init_app(create_cdx_server_app, - load_yaml=True) + return init_app(create_cdx_server_app, + load_yaml=True) #============================================================================= class WaybackCli(ReplayCli): def load(self): from pywb.webapp.pywb_init import create_wb_router + from pywb.framework.wsgi_wrappers import init_app super(WaybackCli, self).load() - return self.init_app(create_wb_router, - load_yaml=True) + return init_app(create_wb_router, + load_yaml=True) #============================================================================= diff --git a/pywb/rewrite/header_rewriter.py b/pywb/rewrite/header_rewriter.py index eb1f0523..dbdee1ea 100644 --- a/pywb/rewrite/header_rewriter.py +++ b/pywb/rewrite/header_rewriter.py @@ -149,7 +149,7 @@ class HeaderRewriter(object): new_headers.append((name, urlrewriter.rewrite(value))) elif lowername in self.KEEP_NO_REWRITE_HEADERS: - if content_modified: + if content_modified and value != '0': removed_header_dict[lowername] = value add_prefixed_header(name, value) else: diff --git a/pywb/rewrite/rewrite_content.py b/pywb/rewrite/rewrite_content.py index cf65e48d..2805a37e 100644 --- a/pywb/rewrite/rewrite_content.py +++ b/pywb/rewrite/rewrite_content.py @@ -205,7 +205,7 @@ class RewriteContent(object): except Exception: content_len = None - if content_len and content_len >= 0: + if content_len is not None and content_len >= 0: content_len = str(content_len + len(head_insert_str)) status_headers.replace_header('Content-Length', content_len) diff --git a/pywb/templates/new_index.html b/pywb/templates/new_index.html new file mode 100644 index 00000000..b76edea0 --- /dev/null +++ b/pywb/templates/new_index.html @@ -0,0 +1,16 @@ + + +
+-Try Different Collection +Try Different Collection
{% endif %} diff --git a/pywb/templates/search.html b/pywb/templates/search.html index 8f71f5f3..95942671 100644 --- a/pywb/templates/search.html +++ b/pywb/templates/search.html @@ -1,3 +1,5 @@ +{% if wbrequest.user_metadata %} +Search this collection by url: