1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

tests: pep8 and coverage pass, getting ready for release

This commit is contained in:
Ilya Kreymer 2014-09-06 15:19:28 -07:00
parent f82afbc977
commit da7e6f31ac
6 changed files with 23 additions and 28 deletions

View File

@ -6,8 +6,8 @@ class BaseHandler(object):
""" """
Represents a base handler class that handles any request Represents a base handler class that handles any request
""" """
def __call__(self, wbrequest): def __call__(self, wbrequest): # pragma: no cover
return wbrequest raise NotImplementedError('Need to implement in derived class')
def get_wburl_type(self): def get_wburl_type(self):
return None return None

View File

@ -91,9 +91,10 @@ class ProxyRouter(object):
self.proxy_cert_dl_view = None self.proxy_cert_dl_view = None
return 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('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.ca = None
self.proxy_cert_dl_view = None self.proxy_cert_dl_view = None
return return
@ -329,8 +330,6 @@ class ProxyRouter(object):
render_response(available=available, render_response(available=available,
pem_path=self.CERT_DL_PEM, pem_path=self.CERT_DL_PEM,
p12_path=self.CERT_DL_P12)) p12_path=self.CERT_DL_P12))
else:
return None
elif env['pywb.proxy_req_uri'] == self.CERT_DL_PEM: elif env['pywb.proxy_req_uri'] == self.CERT_DL_PEM:
buff = '' buff = ''

View File

@ -6,7 +6,7 @@ import urlparse
import base64 import base64
import os import os
try: # pragma: no coverage try: # pragma: no cover
import uwsgi import uwsgi
uwsgi_cache = True uwsgi_cache = True
except ImportError: 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): def __setitem__(self, item, value):
uwsgi.cache_update(item, value) uwsgi.cache_update(item, value)
@ -65,7 +65,7 @@ class BaseCollResolver(object):
return None, None, None, None, self.select_coll_response(env) return None, None, None, None, self.select_coll_response(env)
# if 'use_default_coll' # 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] route = self.routes[0]
coll = self.routes[0].path coll = self.routes[0].path
@ -121,7 +121,6 @@ class ProxyAuthResolver(BaseCollResolver):
#================================================================= #=================================================================
class CookieResolver(BaseCollResolver): class CookieResolver(BaseCollResolver):
SESH_COOKIE_NAME = '__pywb_proxy_sesh' SESH_COOKIE_NAME = '__pywb_proxy_sesh'
def __init__(self, routes, config): def __init__(self, routes, config):
@ -173,7 +172,9 @@ class CookieResolver(BaseCollResolver):
coll, ts, sesh_id = self.get_coll(env) coll, ts, sesh_id = self.get_coll(env)
if coll: 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: else:
return self.make_magic_response('select', path_url, env) return self.make_magic_response('select', path_url, env)
@ -192,7 +193,8 @@ class CookieResolver(BaseCollResolver):
return self.make_redir_response(wb_url.url) return self.make_redir_response(wb_url.url)
elif server_name.endswith(self.set_prefix): 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) sesh_id = self.create_renew_sesh_id(old_sesh_id)
if sesh_id != old_sesh_id: if sesh_id != old_sesh_id:
@ -260,7 +262,6 @@ class CookieResolver(BaseCollResolver):
suffix=path_parts.netloc, suffix=path_parts.netloc,
headers=headers) headers=headers)
def make_magic_response(self, prefix, url, env, def make_magic_response(self, prefix, url, env,
suffix=None, headers=None): suffix=None, headers=None):
full_url = env['pywb.proxy_scheme'] + '://' + prefix + '.' full_url = env['pywb.proxy_scheme'] + '://' + prefix + '.'
@ -312,5 +313,3 @@ class CookieResolver(BaseCollResolver):
headers.append((name, value)) headers.append((name, value))
return WbResponse.redir_response(url, headers=headers) return WbResponse.redir_response(url, headers=headers)

View File

@ -18,6 +18,8 @@ from pywb.utils.bufferedreaders import ChunkedDataReader
#================================================================= #=================================================================
class RewriteContent: class RewriteContent:
HEAD_REGEX = re.compile(r'<\s*head\b[^>]*[>]+', re.I)
def __init__(self, ds_rules_file=None, is_framed_replay=False): def __init__(self, ds_rules_file=None, is_framed_replay=False):
self.ruleset = RuleSet(RewriteRules, 'rewrite', self.ruleset = RuleSet(RewriteRules, 'rewrite',
default_rule_config={}, default_rule_config={},
@ -69,7 +71,6 @@ class RewriteContent:
status_headers, stream = self.sanitize_content(headers, stream) status_headers, stream = self.sanitize_content(headers, stream)
return (status_headers, self.stream_to_gen(stream), False) return (status_headers, self.stream_to_gen(stream), False)
if wb_url.is_banner_only: if wb_url.is_banner_only:
urlrewriter = None urlrewriter = None
@ -155,16 +156,13 @@ class RewriteContent:
rewriter = rewriter_class(urlrewriter) rewriter = rewriter_class(urlrewriter)
# Create rewriting generator # Create rewriting generator
gen = self.stream_to_gen(stream, gen = self.stream_to_gen(stream,
rewrite_func=rewriter.rewrite, rewrite_func=rewriter.rewrite,
final_read_func=rewriter.close, final_read_func=rewriter.close,
first_buff=first_buff) first_buff=first_buff)
return (status_headers, gen, True) return (status_headers, gen, True)
HEAD_REGEX = re.compile(r'<\s*head\b[^>]*[>]+', re.I)
def _head_insert_only_gen(self, insert_str, stream): def _head_insert_only_gen(self, insert_str, stream):
max_len = 1024 max_len = 1024
buff = '' buff = ''

View File

@ -20,7 +20,7 @@ class LiveResourceException(WbException):
#================================================================= #=================================================================
class RewriteHandler(SearchPageWbUrlHandler): class RewriteHandler(SearchPageWbUrlHandler):
LIVE_COOKIE = 'pywb.timestamp={0}; max-age=60'; LIVE_COOKIE = 'pywb.timestamp={0}; max-age=60'
def __init__(self, config): def __init__(self, config):
super(RewriteHandler, self).__init__(config) super(RewriteHandler, self).__init__(config)

View File

@ -229,7 +229,9 @@ def create_wb_router(passed_config={}):
if hasattr(route.handler, 'resolve_refs'): if hasattr(route.handler, 'resolve_refs'):
route.handler.resolve_refs(handler_dict) 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): if config.get('enable_http_proxy', False):
router = ProxyArchivalRouter router = ProxyArchivalRouter
@ -250,9 +252,6 @@ def create_wb_router(passed_config={}):
if view: if view:
passed_config['proxy_options']['proxy_cert_download_view'] = view passed_config['proxy_options']['proxy_cert_download_view'] = view
else:
router = ArchivalRouter
# Finally, create wb router # Finally, create wb router
return router( return router(
routes, routes,