mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 01:03:24 +00:00
pep8
This commit is contained in:
@@ -30,6 +30,7 @@ try:
|
||||
except ImportError:
|
||||
from yaml import Loader
|
||||
|
||||
|
||||
def preprocess_yaml(cassette):
|
||||
# this is the hack that makes the whole thing work. The old version used
|
||||
# to deserialize to Request objects automatically using pyYaml's !!python
|
||||
@@ -74,16 +75,21 @@ def _migrate(data):
|
||||
for k in headers:
|
||||
headers[k] = [headers[k]]
|
||||
response_headers = {}
|
||||
for k, v in get_httpmessage(b"".join(h.encode('utf-8') for h in res['headers'])).items():
|
||||
for k, v in get_httpmessage(
|
||||
b"".join(h.encode('utf-8') for h in res['headers'])
|
||||
).items():
|
||||
response_headers.setdefault(k, [])
|
||||
response_headers[k].append(v)
|
||||
res['headers'] = response_headers
|
||||
interactions.append({'request':req, 'response': res})
|
||||
interactions.append({'request': req, 'response': res})
|
||||
return {
|
||||
'requests': [request.Request._from_dict(i['request']) for i in interactions],
|
||||
'responses': [i['response'] for i in interactions],
|
||||
'requests': [
|
||||
request.Request._from_dict(i['request']) for i in interactions
|
||||
],
|
||||
'responses': [i['response'] for i in interactions],
|
||||
}
|
||||
|
||||
|
||||
def migrate_json(in_fp, out_fp):
|
||||
data = json.load(in_fp)
|
||||
if _already_migrated(data):
|
||||
@@ -96,9 +102,10 @@ def migrate_json(in_fp, out_fp):
|
||||
def _list_of_tuples_to_dict(fs):
|
||||
return dict((k, v) for k, v in fs[0])
|
||||
|
||||
|
||||
def _already_migrated(data):
|
||||
try:
|
||||
if data.get('version')==1:
|
||||
if data.get('version') == 1:
|
||||
return True
|
||||
except AttributeError:
|
||||
return False
|
||||
@@ -109,7 +116,9 @@ def migrate_yml(in_fp, out_fp):
|
||||
if _already_migrated(data):
|
||||
return False
|
||||
for i in range(len(data)):
|
||||
data[i]['request']['headers'] = _list_of_tuples_to_dict(data[i]['request']['headers'])
|
||||
data[i]['request']['headers'] = _list_of_tuples_to_dict(
|
||||
data[i]['request']['headers']
|
||||
)
|
||||
interactions = _migrate(data)
|
||||
out_fp.write(serialize(interactions, yamlserializer))
|
||||
return True
|
||||
|
||||
@@ -2,7 +2,6 @@ from .persisters.filesystem import FilesystemPersister
|
||||
from .serialize import serialize, deserialize
|
||||
|
||||
|
||||
|
||||
def load_cassette(cassette_path, serializer):
|
||||
with open(cassette_path) as f:
|
||||
cassette_content = f.read()
|
||||
|
||||
@@ -2,8 +2,9 @@ from vcr.serializers import compat
|
||||
from vcr.request import Request
|
||||
import yaml
|
||||
|
||||
#version 1 cassettes started with VCR 1.0.x. Before 1.0.x, there was no versioning.
|
||||
CASSETTE_FORMAT_VERSION = 1
|
||||
# version 1 cassettes started with VCR 1.0.x.
|
||||
# Before 1.0.x, there was no versioning.
|
||||
CASSETTE_FORMAT_VERSION = 1
|
||||
|
||||
"""
|
||||
Just a general note on the serialization philosophy here:
|
||||
@@ -17,9 +18,11 @@ Serializing: bytestring -> string (yaml persists to utf-8)
|
||||
Deserializing: string (yaml converts from utf-8) -> bytestring
|
||||
"""
|
||||
|
||||
|
||||
def _looks_like_an_old_cassette(data):
|
||||
return isinstance(data, list) and len(data) and 'request' in data[0]
|
||||
|
||||
|
||||
def _warn_about_old_cassette_format():
|
||||
raise ValueError(
|
||||
"Your cassette files were generated in an older version "
|
||||
@@ -27,6 +30,7 @@ def _warn_about_old_cassette_format():
|
||||
"See http://git.io/mHhLBg for more details."
|
||||
)
|
||||
|
||||
|
||||
def deserialize(cassette_string, serializer):
|
||||
try:
|
||||
data = serializer.deserialize(cassette_string)
|
||||
@@ -38,7 +42,9 @@ def deserialize(cassette_string, serializer):
|
||||
_warn_about_old_cassette_format()
|
||||
|
||||
requests = [Request._from_dict(r['request']) for r in data['interactions']]
|
||||
responses = [compat.convert_to_bytes(r['response']) for r in data['interactions']]
|
||||
responses = [
|
||||
compat.convert_to_bytes(r['response']) for r in data['interactions']
|
||||
]
|
||||
return requests, responses
|
||||
|
||||
|
||||
|
||||
@@ -15,6 +15,6 @@ def serialize(cassette_dict):
|
||||
raise UnicodeDecodeError(
|
||||
"Error serializing cassette to JSON. ",
|
||||
"Does this HTTP interaction contain binary data? ",
|
||||
"If so, use a different serializer (like the yaml serializer) for ",
|
||||
"this request"
|
||||
"If so, use a different serializer (like the yaml serializer) ",
|
||||
"for this request"
|
||||
)
|
||||
|
||||
@@ -6,6 +6,7 @@ try:
|
||||
except ImportError:
|
||||
from yaml import Loader, Dumper
|
||||
|
||||
|
||||
def deserialize(cassette_string):
|
||||
return yaml.load(cassette_string, Loader=Loader)
|
||||
|
||||
|
||||
@@ -50,9 +50,11 @@ def parse_headers(header_list):
|
||||
header_string = b""
|
||||
for key, values in header_list.items():
|
||||
for v in values:
|
||||
header_string += key.encode('utf-8') + b":" + v.encode('utf-8') + b"\r\n"
|
||||
header_string += \
|
||||
key.encode('utf-8') + b":" + v.encode('utf-8') + b"\r\n"
|
||||
return compat.get_httpmessage(header_string)
|
||||
|
||||
|
||||
def serialize_headers(response):
|
||||
out = {}
|
||||
for key, values in compat.get_headers(response):
|
||||
|
||||
Reference in New Issue
Block a user