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

Cassettes now store multiple requests

This commit is contained in:
Kevin McCarthy
2012-06-30 15:10:20 -10:00
parent 66e7ce9572
commit 2576878f2e
6 changed files with 59 additions and 17 deletions

View File

@@ -1,16 +1,27 @@
import yaml
class Cassette(object):
def __init__(self):
def __init__(self, ser_cassette=None):
self.requests = []
self.responses = []
if ser_cassette:
self._unserialize(ser_cassette)
def serialize(self):
return yaml.dump([{
return ([{
'request': req,
'response': res,
} for req,res in zip(self.requests,self.responses)])
} for req, res in zip(self.requests, self.responses)])
def _unserialize(self, source):
self.requests, self.responses = [r['request'] for r in source], [r['response'] for r in source]
def get_request(self, match):
try:
return self.requests[self.requests.index(match)]
except ValueError:
return None
def get_response(self, match):
try:
return self.responses[self.requests.index(match)]
except ValueError:
return None