diff --git a/anki/cards.py b/anki/cards.py index 7468f80fb..bbe6c612a 100644 --- a/anki/cards.py +++ b/anki/cards.py @@ -149,6 +149,8 @@ class Card(object): def fromDB(self, s, id): r = s.first("select * from cards where id = :id", id=id) + if not r: + return (self.id, self.factId, self.cardModelId, @@ -187,6 +189,7 @@ class Card(object): self.isDue, self.type, self.combinedDue) = r + return True def toDB(self, s): "Write card to DB. Note that isDue assumes card is not spaced." diff --git a/anki/deck.py b/anki/deck.py index bcf9abbd1..cacb34d07 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -205,10 +205,13 @@ Caller is responsible for ensuring cards are not spaced.""" "Given a card ID, return a card, and start the card timer." if orm: card = self.s.query(anki.cards.Card).get(id) + if not card: + return card.timerStopped = False else: card = anki.cards.Card() - card.fromDB(self.s, id) + if not card.fromDB(self.s, id): + return card.genFuzz() card.startTimer() return card