Commit graph

1600 commits

Author SHA1 Message Date
RumovZ
8c1a4d0cdd Update progress when checking incoming media too 2022-04-22 21:22:56 +02:00
RumovZ
6eb8aa0987 Add note ids to log and strip HTML 2022-04-22 19:01:17 +02:00
RumovZ
592e7e240c Fix archived collection name on apkg import 2022-04-21 09:03:10 +02:00
RumovZ
63ad6624a6 Return note log when importing apkg 2022-04-20 20:48:22 +02:00
RumovZ
6b85b5900f Expose apkg export/import on backend 2022-04-20 16:01:34 +02:00
RumovZ
16f8c980a6 Fix progress_fn type 2022-04-17 09:35:56 +02:00
RumovZ
e65b79ba63 Use fat pointer to avoid propogating generics 2022-04-16 22:14:01 +02:00
RumovZ
ed24fd13db Expand roundtrip apkg test 2022-04-16 19:19:44 +02:00
RumovZ
bb27eb3f08 Let import_apkg() take a progress func 2022-04-16 17:12:16 +02:00
RumovZ
a78d101c53 Test note importing 2022-04-16 12:31:42 +02:00
RumovZ
1e22432233 Fix deck importing edge cases
Test those edge cases, and add some global test helpers.
2022-04-15 19:07:52 +02:00
RumovZ
42f55fc30a Unconditionally import static media 2022-04-15 12:13:37 +02:00
RumovZ
7af0b08375 Fix parent deck gathering 2022-04-15 11:25:48 +02:00
RumovZ
f0cc027db6 Merge remote-tracking branch 'upstream/HEAD' into apkg 2022-04-15 08:57:07 +02:00
RumovZ
8ccadd96e6
Store last position when scheduling as review (#1800) 2022-04-14 18:53:58 +10:00
RumovZ
4c79a1d969 Merge branch 'main' into apkg 2022-04-13 09:50:27 +02:00
RumovZ
71e6292f8d Maybe upgrade scheduler of apkg 2022-04-11 09:10:08 +02:00
RumovZ
251bfc4920 Factor out media importing 2022-04-11 08:44:18 +02:00
RumovZ
fe878dcdc8 Factor out note importing 2022-04-11 08:28:10 +02:00
RumovZ
a7278836d4 Factor out card importing
Also handle missing parents .
2022-04-10 16:07:35 +02:00
RumovZ
a402879e72 Refactor card and revlog importing 2022-04-10 11:03:46 +02:00
RumovZ
8348240f80 Factor out card importing 2022-04-10 10:36:42 +02:00
RumovZ
e1899152be Fix importing cards/revlog
Card ids are manually uniquified.
2022-04-10 09:22:41 +02:00
Damien Elmes
51a0641bba Sort field change without field change should mark schema modified
Closes #1789
2022-04-10 08:52:55 +10:00
RumovZ
126a92c239 Handle card due dates and original due/did 2022-04-09 23:42:05 +02:00
RumovZ
a528106af0 Keep source ids of imported deck configs (or skip) 2022-04-09 15:52:23 +02:00
RumovZ
7798b78c7d Wrap apkg import in transaction 2022-04-09 15:35:16 +02:00
RumovZ
1ba5444d7d Make adding notetype with id undoable 2022-04-09 12:31:23 +02:00
RumovZ
2a15ba5404 Try to keep source ids of imported notes 2022-04-09 11:40:36 +02:00
RumovZ
5a76d2211a Keep source ids of imported revlog (or skip) 2022-04-09 10:17:28 +02:00
RumovZ
a0604a2e51 Keep source id of imported cards (or skip) 2022-04-09 09:49:36 +02:00
RumovZ
4a6767b1fc
Implicitly group when joining searches (#1759)
* Implicitly group when joining searches

* Allow joining search types directly

* Test search joining

* Add comment for future selves (dae)

* Add one more assert that shows nested grouping (dae)

* Join user searches without grouping again

* Flatten a few clauses in custom study (dae)
2022-04-09 13:22:27 +10:00
Abdo
964f0a5763
Add relative overdueness to review order (#1757)
* Add relative overdueness to review order

* Add test for relative overdue
2022-04-09 13:20:09 +10:00
RumovZ
726438d1c5 Add roundtrip test for apkg (stub) 2022-04-08 22:09:45 +02:00
RumovZ
fef4a6d6fe Test new functions in text.rs 2022-04-08 22:06:54 +02:00
RumovZ
44d727a693 Fix search_cards_of_notes_into_table() 2022-04-08 19:15:20 +02:00
RumovZ
d6134748f2 Fix signature of import_apkg() 2022-04-08 18:57:01 +02:00
RumovZ
468c0286f9 Use dyn instead of generic for media_fn
Otherwise, would have to pass None with type annotation in the default
case.
2022-04-08 18:46:40 +02:00
RumovZ
08791e24fc Add import_cards(), import_revlog() 2022-04-08 18:12:37 +02:00
RumovZ
ffdd8b741e Add import_deck_configs() 2022-04-08 10:52:12 +02:00
RumovZ
7520afd9c5 decks_configs → deck_configs 2022-04-08 10:41:33 +02:00
RumovZ
5cf1705784 Add import_decks() 2022-04-08 10:34:49 +02:00
RumovZ
48bc6627b1 Note id, not guid of conflicting notes 2022-04-07 21:08:17 +02:00
RumovZ
94a6cdd6ed Add notes immediately instaed of preparing 2022-04-07 20:49:42 +02:00
RumovZ
b9c19273fc Move target_col into Context 2022-04-07 19:04:24 +02:00
RumovZ
9527322231 Add notetypes immediately instaed of preparing 2022-04-07 18:58:11 +02:00
RumovZ
5bfd47e415 Add trait to keep down cow boilerplate 2022-04-07 16:01:01 +02:00
RumovZ
cd4865dd18 Handle encoding in replace_media_refs() 2022-04-07 12:51:26 +02:00
RumovZ
7583a7e6b3 Prepare media based on checksums
- Ensure all existing media files are hashed.
- Hash incoming files during preparation to detect conflicts.
- Uniquify names of conflicting files with hash (not notetype id).
- Mark media files as used while importing notes.
- Finally copy used media.
2022-04-07 12:45:02 +02:00
RumovZ
a0085e7fd4 Add SafeMediaEntry for deserialized MediaEntries 2022-04-06 23:21:32 +02:00