From 03f9be21e9663195e08b08692e37279d6028dc68 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 2 Apr 2020 12:09:46 +1000 Subject: [PATCH] return the added card id instead of mutating the backend card object --- pylib/anki/cards.py | 2 +- pylib/anki/rsbackend.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pylib/anki/cards.py b/pylib/anki/cards.py index 4e0fb5610..b229f17d5 100644 --- a/pylib/anki/cards.py +++ b/pylib/anki/cards.py @@ -106,7 +106,7 @@ class Card: if self.id != 0: self.col.backend.update_card(card) else: - self.col.backend.add_card(card) + self.id = self.col.backend.add_card(card) def question(self, reload: bool = False, browser: bool = False) -> str: return self.css() + self.render_output(reload, browser).question_text diff --git a/pylib/anki/rsbackend.py b/pylib/anki/rsbackend.py index 33e9290c3..dd4778d8f 100644 --- a/pylib/anki/rsbackend.py +++ b/pylib/anki/rsbackend.py @@ -494,8 +494,9 @@ class RustBackend: def update_card(self, card: BackendCard) -> None: self._run_command(pb.BackendInput(update_card=card)) - def add_card(self, card: BackendCard) -> None: - card.id = self._run_command(pb.BackendInput(add_card=card)).add_card + # returns the new card id + def add_card(self, card: BackendCard) -> int: + return self._run_command(pb.BackendInput(add_card=card)).add_card def get_deck_config(self, dcid: int) -> Dict[str, Any]: jstr = self._run_command(pb.BackendInput(get_deck_config=dcid)).get_deck_config