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