1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-08 16:53:23 +00:00
Files
vcrpy/vcr/persist.py
2013-08-19 19:49:05 -10:00

22 lines
804 B
Python

from .persisters.filesystem import FilesystemPersister
from .serializers.yamlserializer import YamlSerializer
from .serializers.jsonserializer import JSONSerializer
def _get_serializer_cls(serializer):
serializer_cls = {
'yaml': YamlSerializer,
'json': JSONSerializer,
}.get(serializer)
if not serializer_cls:
raise ImportError('Invalid serializer %s' % serializer)
return serializer_cls
def load_cassette(cassette_path, serializer):
serializer_cls = _get_serializer_cls(serializer)
return serializer_cls.load(cassette_path)
def save_cassette(cassette_path, requests, responses, serializer):
serializer_cls = _get_serializer_cls(serializer)
data = serializer_cls.dumps(requests, responses)
FilesystemPersister.write(cassette_path, data)