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
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
726438d1c5
Add roundtrip test for apkg (stub)
2022-04-08 22:09:45 +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
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
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
RumovZ
fbc21da913
ExportData → ExchangeData
2022-03-31 12:53:36 +02:00
RumovZ
97c9dd4c18
Use temporary tables for gathering
...
export_apkg() now accepts a search instead of a deck id. Decks are
gathered according to the matched notes' cards.
2022-03-31 10:24:09 +02:00
RumovZ
d1dd0586bd
Only store file folder once in MediaIter
2022-03-30 21:37:02 +02:00
RumovZ
a46026f283
Accept func to produce MediaIter in export_apkg()
2022-03-30 21:20:34 +02:00
RumovZ
84c5ac8a0a
Gather export data instead of copying directly
2022-03-29 16:47:57 +02:00
RumovZ
6269a88cd3
Filter out missing media-paths at write time
2022-03-28 12:42:02 +02:00
RumovZ
566973146f
Add apkg export on backend
2022-03-27 10:42:26 +02:00