mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 01:03:24 +00:00
change serializer API so it doesn't have to do file stuff
This commit is contained in:
@@ -13,16 +13,15 @@ def _fix_response_unicode(d):
|
||||
d['body']['string'] = d['body']['string'].encode('utf-8')
|
||||
return d
|
||||
|
||||
def load(cassette_path):
|
||||
with open(cassette_path) as fh:
|
||||
data = json.load(fh)
|
||||
def deserialize(cassette_string):
|
||||
data = json.loads(cassette_string)
|
||||
requests = [Request._from_dict(r['request']) for r in data]
|
||||
responses = [_fix_response_unicode(r['response']) for r in data]
|
||||
return requests, responses
|
||||
|
||||
def dumps(requests, responses):
|
||||
def serialize(cassette_dict):
|
||||
data = ([{
|
||||
'request': request._to_dict(),
|
||||
'response': response,
|
||||
} for request, response in zip(requests, responses)])
|
||||
} for request, response in zip(cassette_dict['requests'], cassette_dict['responses'])])
|
||||
return json.dumps(data, indent=4, default=_json_default)
|
||||
|
||||
@@ -7,16 +7,16 @@ except ImportError:
|
||||
from yaml import Loader, Dumper
|
||||
|
||||
|
||||
def load(cassette_path):
|
||||
data = yaml.load(open(cassette_path), Loader=Loader)
|
||||
def deserialize(cassette_string):
|
||||
data = yaml.load(cassette_string, Loader=Loader)
|
||||
requests = [r['request'] for r in data]
|
||||
responses = [r['response'] for r in data]
|
||||
return requests, responses
|
||||
|
||||
|
||||
def dumps(requests, responses):
|
||||
def serialize(cassette_dict):
|
||||
data = ([{
|
||||
'request': request,
|
||||
'response': response,
|
||||
} for request, response in zip(requests, responses)])
|
||||
} for request, response in zip(cassette_dict['requests'], cassette_dict['responses'])])
|
||||
return yaml.dump(data, Dumper=Dumper)
|
||||
|
||||
Reference in New Issue
Block a user