Skip to content

Commit

Permalink
refactor: move logic for building used interactions dict before saving
Browse files Browse the repository at this point in the history
  • Loading branch information
danielnsilva committed Jan 11, 2025
1 parent 4607ca1 commit cd31d71
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions vcr/cassette.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,19 +356,24 @@ def _new_interactions(self):
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):
Expand Down

0 comments on commit cd31d71

Please sign in to comment.