anki/pylib/tests
RumovZ d55f080733
V3 parent limits (#1638)
* avoid repinning Rust deps by default

* add id_tree dependency

* Respect intermediate child limits in v3

* Test new behaviour of v3 counts

* Rework v3 queue building to respect parent limits

* Add missing did field to SQL query

* Fix `LimitTreeMap::is_exhausted()`

* Rework tree building logic

https://github.com/ankitects/anki/pull/1638#discussion_r798328734

* Add timer for build_queues()

* `is_exhausted()` -> `limit_reached()`

* Move context and limits into `QueueBuilder`

This allows for moving more logic into QueueBuilder, so less passing
around of arguments. Unfortunately, some tests will require additional
work to set up.

* Fix stop condition in new_cards_by_position

* Fix order gather order of new cards by deck

* Add scheduler/queue/builder/burying.rs

* Fix bad tree due to unsorted child decks

* Fix comment

* Fix `cap_new_to_review_rec()`

* Add test for new card gathering

* Always sort `child_decks()`

* Fix deck removal in `cap_new_to_review_rec()`

* Fix sibling ordering in new card gathering

* Remove limits for deck total count with children

* Add random gather order

* Remove bad sibling order handling

All routines ensure ascending order now.
Also do some other minor refactoring.

* Remove queue truncating

All routines stop now as soon as the root limit is reached.

* Move deck fetching into `QueueBuilder::new()`

* Rework new card gather and sort options

https://github.com/ankitects/anki/pull/1638#issuecomment-1032173013

* Disable new sort order choices ...

depending on set gather order.

* Use enum instead of numbers

* Ensure valid sort order setting

* Update new gather and sort order tooltips

* Warn about random insertion order with v3

* Revert "Add timer for build_queues()"

This reverts commit c9f5fc6ebe87953c17a0c842990b009b5596c69c.

* Update rslib/src/storage/card/mod.rs (dae)

* minor wording tweaks to the tooltips (dae)

+ move legacy strings to bottom
+ consistent capitalization (our leech action still needs fixing,
but that will require introducing a new 'suspend card' string as the
existing one is used elsewhere as well)
2022-02-10 09:55:43 +10:00
..
support tweaking the folder names again 2020-01-03 07:48:38 +10:00
__init__.py replace the old stripHTML() methods with the backend implementation 2021-10-01 23:15:45 +10:00
run_format.py bump minimum Python to 3.9 2021-10-04 15:05:15 +10:00
run_mypy.py update to latest rules_python 2022-01-15 16:16:33 +10:00
run_pylint.py update Python deps 2021-10-02 23:52:23 +10:00
run_pytest.py add missing copyright headers to *.py 2021-04-13 18:45:35 +10:00
shared.py move proto files into separate py_library in same namespace 2021-07-11 14:51:25 +10:00
test_cards.py PEP8 collection.py 2021-06-27 15:12:22 +10:00
test_collection.py update platform checks (eg isWin -> is_win) + devMode 2021-11-25 09:06:16 +10:00
test_decks.py PEP8 collection.py 2021-06-27 15:12:22 +10:00
test_exporting.py move proto files into separate py_library in same namespace 2021-07-11 14:51:25 +10:00
test_find.py PEP8 for rest of pylib (#1451) 2021-10-25 14:50:13 +10:00
test_flags.py PEP8 collection.py 2021-06-27 15:12:22 +10:00
test_importing.py Remove redundant camelcase aliases (#1509) 2021-11-26 12:29:48 +10:00
test_latex.py apply some f-string updates via flynt 2021-10-02 23:52:02 +10:00
test_media.py PEP8 for rest of pylib (#1451) 2021-10-25 14:50:13 +10:00
test_models.py update platform checks (eg isWin -> is_win) + devMode 2021-11-25 09:06:16 +10:00
test_sched2021.py use different approach to running tests twice 2021-03-01 12:47:39 +10:00
test_schedv2.py V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
test_stats.py Add _raw methods for all methods in the backend (#1594) 2022-01-21 21:32:39 +10:00
test_template.py PEP8 cards.py 2021-06-27 12:12:23 +10:00
test_undo.py PEP8 collection.py 2021-06-27 15:12:22 +10:00