changed getReviewsOfCard -> getReviewsOfCards, changed result to be formatted in a dictionary rather than a list

This commit is contained in:
Austin Siew 2022-09-13 17:12:20 -06:00
parent 6e4bbfa0d6
commit c0c922d27c
3 changed files with 27 additions and 17 deletions

View File

@ -2759,18 +2759,21 @@ corresponding to when the API was available for use.
} }
``` ```
* **getReviewsOfCard** * **getReviewsOfCards**
Requests all card reviews for a specific card ID. Requests all card reviews for each card ID.
Returns a list of 9-tuples in the same format as `cardReviews`: `(reviewTime, cardID, usn, buttonPressed, newInterval, previousInterval, newFactor, reviewDuration, reviewType)` Returns a dictionary mapping the card ID to 9-tuples in the same format as `cardReviews`:
`(reviewTime, cardID, usn, buttonPressed, newInterval, previousInterval, newFactor, reviewDuration, reviewType)`
*Sample request*: *Sample request*:
```json ```json
{ {
"action": "getReviewsOfCard", "action": "getReviewsOfCards",
"version": 6, "version": 6,
"params": { "params": {
"card": "1653613948202" "cards": [
"1653613948202"
]
} }
} }
``` ```
@ -2778,12 +2781,14 @@ corresponding to when the API was available for use.
*Sample result*: *Sample result*:
```json ```json
{ {
"result": [ "result": {
"1653613948202": [
[1654102387663, 1653613948202, 1780, 3, 8, 3, 2500, 25796, 1], [1654102387663, 1653613948202, 1780, 3, 8, 3, 2500, 25796, 1],
[1654798974478, 1653613948202, 1861, 3, 20, 8, 2500, 18134, 1], [1654798974478, 1653613948202, 1861, 3, 20, 8, 2500, 18134, 1],
[1656556319328, 1653613948202, 2075, 3, 53, 20, 2500, 20530, 1], [1656556319328, 1653613948202, 2075, 3, 53, 20, 2500, 20530, 1],
[1661107990069, 1653613948202, 2478, 3, 131, 53, 2500, 24247, 1] [1661107990069, 1653613948202, 2478, 3, 131, 53, 2500, 24247, 1]
], ]
},
"error": null "error": null
} }
``` ```

View File

@ -1374,10 +1374,15 @@ class AnkiConnect:
@util.api() @util.api()
def getReviewsOfCard(self, card): def getReviewsOfCards(self, cards):
return self.database().all( return {
'select id, cid, usn, ease, ivl, lastIvl, factor, time, type from revlog where cid = ?', card card: self.database().all(
"select id, cid, usn, ease, ivl, lastIvl, factor, time, type from revlog where cid = ?",
card,
) )
for card in cards
}
@util.api() @util.api()

View File

@ -29,5 +29,5 @@ class TestReviews:
assert len(ac.cardReviews(deck="test_deck", startID=0)) == 2 assert len(ac.cardReviews(deck="test_deck", startID=0)) == 2
assert ac.getLatestReviewID(deck="test_deck") == 789 assert ac.getLatestReviewID(deck="test_deck") == 789
assert ac.getReviewsOfCard(card=setup.card_ids[0]) == \ assert ac.getReviewsOfCards(cards=[setup.card_ids[0]]) == \
[[456, setup.card_ids[0], -1, 3, 4, -60, 2500, 6157, 0]] {setup.card_ids[0]: [[456, setup.card_ids[0], -1, 3, 4, -60, 2500, 6157, 0]]}