From da7e6f31acce510cad9b0500588234418701fe9e Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Sat, 6 Sep 2014 15:19:28 -0700 Subject: [PATCH] tests: pep8 and coverage pass, getting ready for release --- pywb/framework/basehandlers.py | 4 ++-- pywb/framework/proxy.py | 7 +++---- pywb/framework/proxy_resolvers.py | 17 ++++++++--------- pywb/rewrite/rewrite_content.py | 14 ++++++-------- pywb/webapp/live_rewrite_handler.py | 2 +- pywb/webapp/pywb_init.py | 7 +++---- 6 files changed, 23 insertions(+), 28 deletions(-) diff --git a/pywb/framework/basehandlers.py b/pywb/framework/basehandlers.py index 8ae4d662..db8508d8 100644 --- a/pywb/framework/basehandlers.py +++ b/pywb/framework/basehandlers.py @@ -6,8 +6,8 @@ class BaseHandler(object): """ Represents a base handler class that handles any request """ - def __call__(self, wbrequest): - return wbrequest + def __call__(self, wbrequest): # pragma: no cover + raise NotImplementedError('Need to implement in derived class') def get_wburl_type(self): return None diff --git a/pywb/framework/proxy.py b/pywb/framework/proxy.py index c5e75dfd..3d5e4eb9 100644 --- a/pywb/framework/proxy.py +++ b/pywb/framework/proxy.py @@ -91,9 +91,10 @@ class ProxyRouter(object): self.proxy_cert_dl_view = None return - if not openssl_avail: # pragma: no coverage + if not openssl_avail: # pragma: no cover print('HTTPS proxy not available as pyopenssl is not installed') - print('Please install via "pip install pyopenssl" to enable HTTPS support') + print('Please install via "pip install pyopenssl" ' + + 'to enable HTTPS support') self.ca = None self.proxy_cert_dl_view = None return @@ -329,8 +330,6 @@ class ProxyRouter(object): render_response(available=available, pem_path=self.CERT_DL_PEM, p12_path=self.CERT_DL_P12)) - else: - return None elif env['pywb.proxy_req_uri'] == self.CERT_DL_PEM: buff = '' diff --git a/pywb/framework/proxy_resolvers.py b/pywb/framework/proxy_resolvers.py index c11a9ed2..dd4d4ad1 100644 --- a/pywb/framework/proxy_resolvers.py +++ b/pywb/framework/proxy_resolvers.py @@ -6,7 +6,7 @@ import urlparse import base64 import os -try: # pragma: no coverage +try: # pragma: no cover import uwsgi uwsgi_cache = True except ImportError: @@ -14,7 +14,7 @@ except ImportError: #================================================================= -class UwsgiCache(object): # pragma: no coverage +class UwsgiCache(object): # pragma: no cover def __setitem__(self, item, value): uwsgi.cache_update(item, value) @@ -65,7 +65,7 @@ class BaseCollResolver(object): return None, None, None, None, self.select_coll_response(env) # if 'use_default_coll' - elif self.use_default_coll == True or len(self.routes) == 1: + elif self.use_default_coll or len(self.routes) == 1: route = self.routes[0] coll = self.routes[0].path @@ -121,7 +121,6 @@ class ProxyAuthResolver(BaseCollResolver): #================================================================= class CookieResolver(BaseCollResolver): - SESH_COOKIE_NAME = '__pywb_proxy_sesh' def __init__(self, routes, config): @@ -173,7 +172,9 @@ class CookieResolver(BaseCollResolver): coll, ts, sesh_id = self.get_coll(env) if coll: - return self.make_sethost_cookie_response(sesh_id, path_url, env) + return self.make_sethost_cookie_response(sesh_id, + path_url, + env) else: return self.make_magic_response('select', path_url, env) @@ -192,7 +193,8 @@ class CookieResolver(BaseCollResolver): return self.make_redir_response(wb_url.url) elif server_name.endswith(self.set_prefix): - old_sesh_id = WbRequest.extract_client_cookie(env, self.cookie_name) + old_sesh_id = WbRequest.extract_client_cookie(env, + self.cookie_name) sesh_id = self.create_renew_sesh_id(old_sesh_id) if sesh_id != old_sesh_id: @@ -260,7 +262,6 @@ class CookieResolver(BaseCollResolver): suffix=path_parts.netloc, headers=headers) - def make_magic_response(self, prefix, url, env, suffix=None, headers=None): full_url = env['pywb.proxy_scheme'] + '://' + prefix + '.' @@ -312,5 +313,3 @@ class CookieResolver(BaseCollResolver): headers.append((name, value)) return WbResponse.redir_response(url, headers=headers) - - diff --git a/pywb/rewrite/rewrite_content.py b/pywb/rewrite/rewrite_content.py index e389cd35..0897daa9 100644 --- a/pywb/rewrite/rewrite_content.py +++ b/pywb/rewrite/rewrite_content.py @@ -18,6 +18,8 @@ from pywb.utils.bufferedreaders import ChunkedDataReader #================================================================= class RewriteContent: + HEAD_REGEX = re.compile(r'<\s*head\b[^>]*[>]+', re.I) + def __init__(self, ds_rules_file=None, is_framed_replay=False): self.ruleset = RuleSet(RewriteRules, 'rewrite', default_rule_config={}, @@ -69,7 +71,6 @@ class RewriteContent: status_headers, stream = self.sanitize_content(headers, stream) return (status_headers, self.stream_to_gen(stream), False) - if wb_url.is_banner_only: urlrewriter = None @@ -155,16 +156,13 @@ class RewriteContent: rewriter = rewriter_class(urlrewriter) # Create rewriting generator - gen = self.stream_to_gen(stream, - rewrite_func=rewriter.rewrite, - final_read_func=rewriter.close, - first_buff=first_buff) - + gen = self.stream_to_gen(stream, + rewrite_func=rewriter.rewrite, + final_read_func=rewriter.close, + first_buff=first_buff) return (status_headers, gen, True) - HEAD_REGEX = re.compile(r'<\s*head\b[^>]*[>]+', re.I) - def _head_insert_only_gen(self, insert_str, stream): max_len = 1024 buff = '' diff --git a/pywb/webapp/live_rewrite_handler.py b/pywb/webapp/live_rewrite_handler.py index cb279beb..abaf80c2 100644 --- a/pywb/webapp/live_rewrite_handler.py +++ b/pywb/webapp/live_rewrite_handler.py @@ -20,7 +20,7 @@ class LiveResourceException(WbException): #================================================================= class RewriteHandler(SearchPageWbUrlHandler): - LIVE_COOKIE = 'pywb.timestamp={0}; max-age=60'; + LIVE_COOKIE = 'pywb.timestamp={0}; max-age=60' def __init__(self, config): super(RewriteHandler, self).__init__(config) diff --git a/pywb/webapp/pywb_init.py b/pywb/webapp/pywb_init.py index e9cf0791..9f26c4e5 100644 --- a/pywb/webapp/pywb_init.py +++ b/pywb/webapp/pywb_init.py @@ -229,7 +229,9 @@ def create_wb_router(passed_config={}): if hasattr(route.handler, 'resolve_refs'): route.handler.resolve_refs(handler_dict) - # Check for new proxy mode! + # default to regular archival mode + router = ArchivalRouter + if config.get('enable_http_proxy', False): router = ProxyArchivalRouter @@ -250,9 +252,6 @@ def create_wb_router(passed_config={}): if view: passed_config['proxy_options']['proxy_cert_download_view'] = view - else: - router = ArchivalRouter - # Finally, create wb router return router( routes,