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

Let's do an instance/module-based API for serializers

This commit is contained in:
Kevin McCarthy
2013-08-22 17:39:52 -10:00
parent c5eca93edc
commit 6005420409
5 changed files with 34 additions and 42 deletions

View File

@@ -13,19 +13,16 @@ def _fix_response_unicode(d):
d['body']['string'] = d['body']['string'].encode('utf-8')
return d
class JSONSerializer(object):
@classmethod
def load(cls, cassette_path):
with open(cassette_path) as fh:
data = json.load(fh)
requests = [Request._from_dict(r['request']) for r in data]
responses = [_fix_response_unicode(r['response']) for r in data]
return requests, responses
def load(cassette_path):
with open(cassette_path) as fh:
data = json.load(fh)
requests = [Request._from_dict(r['request']) for r in data]
responses = [_fix_response_unicode(r['response']) for r in data]
return requests, responses
@classmethod
def dumps(cls, requests, responses):
data = ([{
'request': request._to_dict(),
'response': response,
} for request, response in zip(requests, responses)])
return json.dumps(data, indent=4, default=_json_default)
def dumps(requests, responses):
data = ([{
'request': request._to_dict(),
'response': response,
} for request, response in zip(requests, responses)])
return json.dumps(data, indent=4, default=_json_default)