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

refactor: move logic for building used interactions dict before saving

This commit is contained in:
Daniel Silva
2025-01-11 16:56:59 +00:00
parent 4607ca1102
commit cd31d71901

View File

@@ -356,19 +356,24 @@ class Cassette:
return new_interactions
def _as_dict(self):
requests = self.requests
responses = self.responses
if self.drop_unused_requests:
interactions = self._played_interactions + self._new_interactions()
requests = [request for request, _ in interactions]
responses = [response for _, response in interactions]
return {"requests": requests, "responses": responses}
return {"requests": self.requests, "responses": self.responses}
def _build_used_interactions_dict(self):
interactions = self._played_interactions + self._new_interactions()
cassete_dict = {
"requests": [request for request, _ in interactions],
"responses": [response for _, response in interactions],
}
return cassete_dict
def _save(self, force=False):
if self.drop_unused_requests and len(self._played_interactions) < len(self._old_interactions):
cassete_dict = self._build_used_interactions_dict()
force = True
else:
cassete_dict = self._as_dict()
if force or self.dirty:
self._persister.save_cassette(self._path, self._as_dict(), serializer=self._serializer)
self._persister.save_cassette(self._path, cassete_dict, serializer=self._serializer)
self.dirty = False
def _load(self):