From 985e5733039318e5d9131417514b25116e27ee9d Mon Sep 17 00:00:00 2001 From: Kevin McCarthy Date: Sat, 8 Mar 2014 22:59:10 -1000 Subject: [PATCH] pep8 cleanup --- vcr/serializers/compat.py | 29 ++++++++++++++++++----------- vcr/serializers/yamlserializer.py | 4 +++- vcr/stubs/__init__.py | 18 ++++++++++++------ vcr/stubs/compat.py | 2 ++ vcr/stubs/httplib2_stubs.py | 17 +++++++++++++---- 5 files changed, 48 insertions(+), 22 deletions(-) diff --git a/vcr/serializers/compat.py b/vcr/serializers/compat.py index d77dade..489a508 100644 --- a/vcr/serializers/compat.py +++ b/vcr/serializers/compat.py @@ -1,15 +1,18 @@ import six + def convert_to_bytes(resp): resp = convert_headers_to_bytes(resp) resp = convert_body_to_bytes(resp) return resp + def convert_to_unicode(resp): resp = convert_headers_to_unicode(resp) resp = convert_body_to_unicode(resp) return resp + def convert_headers_to_bytes(resp): try: resp['headers'] = [h.encode('utf-8') for h in resp['headers']] @@ -17,6 +20,7 @@ def convert_headers_to_bytes(resp): pass return resp + def convert_headers_to_unicode(resp): try: resp['headers'] = [h.decode('utf-8') for h in resp['headers']] @@ -24,6 +28,7 @@ def convert_headers_to_unicode(resp): pass return resp + def convert_body_to_bytes(resp): """ If the request body is a string, encode it to bytes (for python3 support) @@ -33,21 +38,23 @@ def convert_body_to_bytes(resp): into unicode strings. This makes sure that it stays a bytestring, since that's what all the internal httplib machinery is expecting. - For more info on py3 yaml: http://pyyaml.org/wiki/PyYAMLDocumentation#Python3support + For more info on py3 yaml: + http://pyyaml.org/wiki/PyYAMLDocumentation#Python3support """ try: if not isinstance(resp['body']['string'], six.binary_type): resp['body']['string'] = resp['body']['string'].encode('utf-8') except (KeyError, TypeError, UnicodeEncodeError): - # The thing we were converting either wasn't a dictionary or didn't have - # the keys we were expecting. Some of the tests just serialize and - # deserialize a string. + # The thing we were converting either wasn't a dictionary or didn't + # have the keys we were expecting. Some of the tests just serialize + # and deserialize a string. - # Also, sometimes the thing actually is binary, so if you can't encode - # it, just give up. + # Also, sometimes the thing actually is binary, so if you can't encode + # it, just give up. pass return resp + def convert_body_to_unicode(resp): """ If the request body is bytes, decode it to a string (for python3 support) @@ -56,11 +63,11 @@ def convert_body_to_unicode(resp): if not isinstance(resp['body']['string'], six.text_type): resp['body']['string'] = resp['body']['string'].decode('utf-8') except (KeyError, TypeError, UnicodeDecodeError): - # The thing we were converting either wasn't a dictionary or didn't have - # the keys we were expecting. Some of the tests just serialize and - # deserialize a string. + # The thing we were converting either wasn't a dictionary or didn't + # have the keys we were expecting. Some of the tests just serialize + # and deserialize a string. - # Also, sometimes the thing actually is binary, so if you can't decode - # it, just give up. + # Also, sometimes the thing actually is binary, so if you can't decode + # it, just give up. pass return resp diff --git a/vcr/serializers/yamlserializer.py b/vcr/serializers/yamlserializer.py index da6db88..76128b2 100644 --- a/vcr/serializers/yamlserializer.py +++ b/vcr/serializers/yamlserializer.py @@ -20,9 +20,10 @@ Serializing: bytestring -> string (yaml persists to utf-8) Deserializing: string (yaml converts from utf-8) -> bytestring """ + def _restore_frozenset(): """ - Restore __builtin__.frozenset for cassettes serialized in python2 but + Restore __builtin__.frozenset for cassettes serialized in python2 but deserialized in python3 and builtins.frozenset for cassettes serialized in python3 and deserialized in python2 """ @@ -34,6 +35,7 @@ def _restore_frozenset(): if 'builtins' not in sys.modules: sys.modules['builtins'] = sys.modules['__builtin__'] + def deserialize(cassette_string): _restore_frozenset() data = yaml.load(cassette_string, Loader=Loader) diff --git a/vcr/stubs/__init__.py b/vcr/stubs/__init__.py index 63d4610..702472a 100644 --- a/vcr/stubs/__init__.py +++ b/vcr/stubs/__init__.py @@ -5,7 +5,12 @@ try: except ImportError: pass import six -from six.moves.http_client import HTTPConnection, HTTPSConnection, HTTPMessage, HTTPResponse +from six.moves.http_client import ( + HTTPConnection, + HTTPSConnection, + HTTPMessage, + HTTPResponse, +) from six import BytesIO from vcr.request import Request from vcr.errors import CannotOverwriteExistingCassetteException @@ -32,6 +37,7 @@ def parse_headers(header_list): headers = b"".join(header_list) + b"\r\n" return compat.get_httpmessage(headers) + class VCRHTTPResponse(HTTPResponse): """ Stub reponse class that gets returned instead of a HTTPResponse @@ -51,9 +57,9 @@ class VCRHTTPResponse(HTTPResponse): @property def closed(self): - # in python3, I can't change the value of self.closed. So I'm twiddling - # self._closed and using this property to shadow the real self.closed - # from the superclass + # in python3, I can't change the value of self.closed. So I' + # twiddling self._closed and using this property to shadow the real + # self.closed from the superclas return self._closed def read(self, *args, **kwargs): @@ -206,8 +212,8 @@ class VCRConnection: self.cassette.rewound: # We already have a response we are going to play, don't # actually connect - return - + return + if self.cassette.write_protected: # Cassette is write-protected, don't actually connect return diff --git a/vcr/stubs/compat.py b/vcr/stubs/compat.py index e54053f..d400044 100644 --- a/vcr/stubs/compat.py +++ b/vcr/stubs/compat.py @@ -12,6 +12,7 @@ The python3 http.client api moved some stuff around, so this is an abstraction layer that tries to cope with this move. """ + def get_header(message, name): if six.PY3: return message.getallmatchingheaders(name) @@ -34,6 +35,7 @@ def get_headers(response): else: return response.msg.headers + def get_httpmessage(headers): if six.PY3: return http.client.parse_headers(BytesIO(headers)) diff --git a/vcr/stubs/httplib2_stubs.py b/vcr/stubs/httplib2_stubs.py index ad74400..fafa37f 100644 --- a/vcr/stubs/httplib2_stubs.py +++ b/vcr/stubs/httplib2_stubs.py @@ -13,7 +13,9 @@ class VCRHTTPConnectionWithTimeout(VCRHTTPConnection, HTTPConnection.__init__.''' # Delete the keyword arguments that HTTPConnection would not recognize - safe_keys = set(('host', 'port', 'strict', 'timeout', 'source_address')) + safe_keys = set( + ('host', 'port', 'strict', 'timeout', 'source_address') + ) unknown_keys = set(kwargs.keys()) - safe_keys safe_kwargs = kwargs.copy() for kw in unknown_keys: @@ -31,8 +33,15 @@ class VCRHTTPSConnectionWithTimeout(VCRHTTPSConnection, def __init__(self, *args, **kwargs): # Delete the keyword arguments that HTTPSConnection would not recognize - safe_keys = set(('host', 'port', 'key_file', 'cert_file', 'strict', - 'timeout', 'source_address')) + safe_keys = set(( + 'host', + 'port', + 'key_file', + 'cert_file', + 'strict', + 'timeout', + 'source_address', + )) unknown_keys = set(kwargs.keys()) - safe_keys safe_kwargs = kwargs.copy() for kw in unknown_keys: @@ -46,7 +55,7 @@ class VCRHTTPSConnectionWithTimeout(VCRHTTPSConnection, self.ca_certs = None else: self.ca_certs = kwargs['ca_certs'] - + self.disable_ssl_certificate_validation = kwargs.pop( 'disable_ssl_certificate_validation', None) VCRHTTPSConnection.__init__(self, *args, **safe_kwargs)