anki/ftl/core
RumovZ e759885734
Backend colpkg exporting (#1719)
* Implement colpkg exporting on backend

* Use exporting logic in backup.rs

* Refactor exporting.rs

* Add backend function to export collection

* Refactor backend/collection.rs

* Use backend for colpkg exporting

* Don't use default zip compression for media

* Add exporting progress

* Refactor media file writing

* Write dummy collections

* Localize dummy collection note

* Minimize dummy db size

* Use `NamedTempFile::new()` instead of `new_in`

* Drop redundant v2 dummy collection

* COLLECTION_VERSION -> PACKAGE_VERSION

* Split `lock_collection()` into two to drop flag

* Expose new colpkg in GUI

* Improve dummy collection message

* Please type checker

* importing-colpkg-too-new -> exporting-...

* Compress the media map in the v3 package (dae)

On collections with lots of media, it can grow into megabytes.

Also return an error in extract_media_file_names(), instead of masking
it as an optional.

* Store media map as a vector in the v3 package (dae)

This compresses better (eg 280kb original, 100kb hashmap, 42kb vec)

In the colpkg import case we don't need random access. When importing
an apkg, we will need to be able to fetch file data for a given media
filename, but the existing map doesn't help us there, as we need
filename->index, not index->filename.

* Ensure folders in the media dir don't break the file mapping (dae)
2022-03-15 16:48:02 +10:00
..
actions.ftl Disable full screen on Windows with OpenGL (#1715) 2022-03-09 14:21:54 +10:00
adding.ftl Make missing cloze a warning again 2021-06-15 08:43:00 +02:00
browsing.ftl View menu (#1668) 2022-02-17 16:31:46 +10:00
card-stats.ftl Move update logic into CardInfo.svelte 2021-10-18 09:01:24 +02:00
card-template-rendering.ftl automatically format/check ftl files 2020-11-22 15:30:59 +10:00
card-templates.ftl run ftl/remove-unused.sh 2021-11-24 14:44:02 +10:00
change-notetype.ftl Change Notetype UI Rework (#1499) 2021-11-24 12:09:55 +10:00
custom-study.ftl Move custom study tag and limit gathering+saving into the backend 2022-03-10 16:23:03 +10:00
database-check.ftl move ftl into top level ftl/ folder; make it source of truth for aqt 2020-11-18 16:20:58 +10:00
deck-config.ftl Extend maximum answer time... (#1698) 2022-03-15 10:06:45 +10:00
decks.ftl run ftl/remove-unused.sh 2021-11-24 14:44:02 +10:00
editing.ftl Fix outstanding tag editor issues (#1717) 2022-03-11 15:48:49 +10:00
empty-cards.ftl automatically format/check ftl files 2020-11-22 15:30:59 +10:00
errors.ftl Backups (#1685) 2022-03-07 15:11:31 +10:00
exporting.ftl Backend colpkg exporting (#1719) 2022-03-15 16:48:02 +10:00
fields.ftl run ftl/remove-unused.sh 2021-11-24 14:44:02 +10:00
findreplace.ftl automatically format/check ftl files 2020-11-22 15:30:59 +10:00
importing.ftl Preserve old translation 2022-03-07 18:14:12 +10:00
keyboard.ftl Add getPlatformString for making shortcuts to platform string 2021-04-22 13:04:24 +02:00
media-check.ftl avoid using literal 1 in English translations 2020-12-18 10:14:19 +10:00
media.ftl remove format separator from recording string 2020-12-16 19:44:47 +10:00
network.ftl automatically format/check ftl files 2020-11-22 15:30:59 +10:00
notetypes.ftl Add browser action to create note copy (#1535) 2021-12-08 08:40:48 +10:00
preferences.ftl Backups (#1685) 2022-03-07 15:11:31 +10:00
profiles.ftl Set up default language before loading profile 2020-11-21 05:29:23 +03:00
scheduling.ftl Optionally restore original position and reset counts when forgetting (#1714) 2022-03-09 16:51:41 +10:00
search.ftl search-invalid-flag -> search-invalid-flag-2 2021-06-02 21:49:33 +02:00
statistics.ftl run ftl/remove-unused.sh 2021-11-24 14:44:02 +10:00
studying.ftl Fix bury count (more) (#1712) 2022-03-07 11:03:14 +10:00
sync.ftl tweak sync conflict message 2021-09-08 19:19:23 +10:00
undo.ftl move action names out of undo.ftl into actions.ftl 2021-05-08 17:11:54 +10:00