1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-09 09:13:23 +00:00

Replaced yaml dump of Request object with plain dict dump

This commit is contained in:
Max Shytikov
2014-04-24 02:05:14 +02:00
parent 0408bdaadb
commit 1e995c3c9b
5 changed files with 14 additions and 36 deletions

View File

@@ -1,5 +1,6 @@
import sys
import yaml
from vcr.request import Request
from . import compat
# Use the libYAML versions if possible
@@ -21,25 +22,9 @@ Deserializing: string (yaml converts from utf-8) -> bytestring
"""
def _restore_frozenset():
"""
Restore __builtin__.frozenset for cassettes serialized in python2 but
deserialized in python3 and builtins.frozenset for cassettes serialized
in python3 and deserialized in python2
"""
if '__builtin__' not in sys.modules:
import builtins
sys.modules['__builtin__'] = builtins
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)
requests = [r['request'] for r in data]
requests = [Request._from_dict(r['request']) for r in data]
responses = [r['response'] for r in data]
responses = [compat.convert_to_bytes(r['response']) for r in data]
return requests, responses
@@ -47,7 +32,7 @@ def deserialize(cassette_string):
def serialize(cassette_dict):
data = ([{
'request': request,
'request': request._to_dict(),
'response': response,
} for request, response in zip(
cassette_dict['requests'],