change param format for answerCards
This commit is contained in:
parent
0012245c57
commit
3892481cea
14
README.md
14
README.md
@ -726,7 +726,7 @@ corresponding to when the API was available for use.
|
||||
|
||||
#### `answerCards`
|
||||
|
||||
* Answer cards. Answers are between 1 (Again) and 4 (Easy). Will start the timer immediately before answering. Returns `true` if card exists, `false` otherwise.
|
||||
* Answer cards. Ease is between 1 (Again) and 4 (Easy). Will start the timer immediately before answering. Returns `true` if card exists, `false` otherwise.
|
||||
|
||||
<details>
|
||||
<summary><i>Sample request:</i></summary>
|
||||
@ -736,8 +736,16 @@ corresponding to when the API was available for use.
|
||||
"action": "answerCards",
|
||||
"version": 6,
|
||||
"params": {
|
||||
"cards": [1498938915662, 1502098034048],
|
||||
"answers": [2, 4],
|
||||
"answers": [
|
||||
{
|
||||
"cardId": 1498938915662,
|
||||
"ease": 2
|
||||
},
|
||||
{
|
||||
"cardId": 1502098034048,
|
||||
"ease": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@ -1531,14 +1531,16 @@ class AnkiConnect:
|
||||
|
||||
|
||||
@util.api()
|
||||
def answerCards(self, cards, answers):
|
||||
def answerCards(self, answers):
|
||||
scheduler = self.scheduler()
|
||||
success = []
|
||||
for i, cid in enumerate(cards):
|
||||
for answer in answers:
|
||||
try:
|
||||
cid = answer['cardId']
|
||||
ease = answer['ease']
|
||||
card = self.getCard(cid)
|
||||
card.start_timer()
|
||||
scheduler.answerCard(card, answers[i])
|
||||
scheduler.answerCard(card, ease)
|
||||
success.append(True)
|
||||
except NotFoundError:
|
||||
success.append(False)
|
||||
|
@ -81,10 +81,13 @@ def test_relearnCards(setup):
|
||||
class TestAnswerCards:
|
||||
def test_answerCards(self, setup):
|
||||
ac.scheduler().reset()
|
||||
result = ac.answerCards(cards=setup.card_ids, answers=[2, 1, 4, 3])
|
||||
answers = [
|
||||
{"cardId": a, "ease": b} for a, b in zip(setup.card_ids, [2, 1, 4, 3])
|
||||
]
|
||||
result = ac.answerCards(answers)
|
||||
assert result == [True] * 4
|
||||
|
||||
def test_answerCards_with_invalid_card_id(self, setup):
|
||||
ac.scheduler().reset()
|
||||
result = ac.answerCards(cards=[123], answers=[2])
|
||||
result = ac.answerCards([{"cardId": 123, "ease": 2}])
|
||||
assert result == [False]
|
||||
|
Loading…
Reference in New Issue
Block a user