Commit graph

18 commits

Author SHA1 Message Date
Damien Elmes
c5704e6102 collapsed->expanded in other tag uses for consistency 2021-02-02 18:52:57 +10:00
Damien Elmes
99d6247333 collapsed->expanded in TagTreeNode 2021-02-02 18:52:57 +10:00
Damien Elmes
ff8c8a3bca simplify unused tags and DB check
- backend routines should contain minimal logic, and should call
into a routine on the collection
- instead of copying the giant-string approach the Python code was taking,
we use a HashSet to keep track of seen tags as we loop through the
notes, which should be more efficient
2021-01-16 20:38:16 +10:00
Damien Elmes
7f4850659d no need for separate all_tags_sorted()
tag is the primary key, so sqlite will give it back to us in
sorted order already.
2021-01-16 19:46:58 +10:00
abdo
4911945b9b Refactor code for clearing unused tags and saving collapse state 2021-01-14 07:04:14 +03:00
abdo
e3c873fb32 Keep tags in human form and update the tags table structure
See https://github.com/ankitects/anki/pull/900#issuecomment-758284016

- Leave tag names alone and add the collapsed and config columns to the tags table.
- Update The DB check code to preserve the collapse state of used tags.
- Add a simple test for clearing tags and their children
2021-01-12 23:12:35 +03:00
Damien Elmes
29b3ee13e8 fix clippy lints 2020-11-24 20:13:05 +10:00
Damien Elmes
aaa950f66c handle notes with invalid utf8 2020-11-06 10:21:51 +10:00
Damien Elmes
7f42500e53 rename some card+note fields in backend 2020-09-01 10:24:38 +10:00
Damien Elmes
d0d2ba15e2 generate extra templates when recovering notetype 2020-08-10 13:42:37 +10:00
Damien Elmes
ffd1638400 fix assertion failure when recovering notetype
Notes need to have their notetype ID updated to reflect the
newly created notetype.

https://forums.ankiweb.net/t/anki-crashes-on-sync-study-export/1978
2020-08-08 12:26:00 +10:00
Damien Elmes
75471224fa add progress to db check 2020-06-08 21:07:36 +10:00
Damien Elmes
e230f360e9 ensure notetype name unique on add as well 2020-05-17 19:41:47 +10:00
Damien Elmes
b676522e5c fix renaming corner cases and decks.update()
- .update() should update a single deck and preserve usn by default,
as that's what existing code expects
- decks are automatically renamed when they conflict with an existing
name
2020-05-17 19:07:15 +10:00
Damien Elmes
dc9200e639 add tests for the other checks, and fix new card due limiting 2020-05-12 21:13:34 +10:00
Damien Elmes
bdf5daa422 add tests for card fixes; implement deck recovery 2020-05-12 21:13:34 +10:00
Damien Elmes
d7f9bccd1e rewrite DB check
- notes with wrong field count are now recovered instead of
being deleted
- notes with missing note types are now recovered
- notes with missing cards are now recovered
- recover_missing_deck() still needs implementing
- checks required
2020-05-12 21:13:34 +10:00
Damien Elmes
267be1b050 add missing decks in backend
- need to compare parents with unicode case folding
- duplicate check enforced by the DB
2020-05-12 21:13:33 +10:00