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
RumovZ
efde7c7acc
Refactor import-export/package
...
- Move media and meta code into appropriate modules.
- Normalize/check for normalization when deserializing media entries.
2022-04-06 18:02:02 +02:00
RumovZ
80dc3ae99e
Fix due dates in days for apkg export
2022-04-06 12:31:29 +02:00
RumovZ
6836da07ec
Start on apkg importing on backend
2022-04-05 18:15:51 +02:00
Damien Elmes
4673fb5fe4
Colpkg import now marks collection as modified
...
Addresses a corner case where a backup is imported into an
unchanged collection, resulting in the sync indicator showing a full
sync is required, which doesn't go away as syncing thinks no changes
are required.
An alternative way to solve this would be to reverse the order of checks
in the syncing code. It would have the advantage of retaining the
modification time of the backup, but any action like clicking on a deck
would cause it to be updated anyway, so I'm not sure that buys us much.
2022-04-03 16:07:39 +10:00
Damien Elmes
d90608198f
Don't rely on frontend to cap time taken in v3
2022-04-02 20:06:23 +10:00
RumovZ
fce797cb47
search_notes_cards_into_table →
...
search_cards_of_notes_into_table
2022-03-31 18:23:18 +02:00
RumovZ
4aa5ee5fb4
Ignore ascii case when filtering system tags
2022-03-31 18:20:11 +02:00
RumovZ
fbc21da913
ExportData → ExchangeData
2022-03-31 12:53:36 +02:00
RumovZ
71670a065d
Use schedule_as_new() to reset cards
2022-03-31 10:39:52 +02:00