Commit graph

30 commits

Author SHA1 Message Date
Damien Elmes
e3a57a4193 fix clippy lint on other platforms 2020-03-19 10:58:52 +10:00
Damien Elmes
617b18ff49 correctly handle NFD content in media DB from older Anki versions 2020-03-19 10:20:42 +10:00
Damien Elmes
6e30572e6d log sync errors 2020-03-10 09:43:48 +10:00
Damien Elmes
b4af0ca825 tweak logging 2020-03-10 09:30:05 +10:00
Damien Elmes
18cd841246 don't try to read file data when file marked as a deletion
If the user hadn't used the media check to clean up files with
invalid names on disk,  the long filename would break the 'automatically
rename long filenames when syncing' functionality, causing the original
long filename to be uploaded to AnkiWeb as an addition instead of
a deletion
2020-03-10 09:29:36 +10:00
Damien Elmes
ba4fe71eba make logging explicit, and support logging to a file 2020-02-29 20:44:01 +10:00
Damien Elmes
3a1fc74ec3 remove some unused imports 2020-02-29 15:21:11 +10:00
Damien Elmes
319390f0c6 more frequent progress updates 2020-02-17 08:40:17 +10:00
Damien Elmes
23483b0a57 mark deletions in media DB when files are deleted 2020-02-17 08:40:17 +10:00
Damien Elmes
1ff6cbc54d make sure renames generated during sync don't get immediately removed 2020-02-17 08:40:17 +10:00
Damien Elmes
d394aed5fd don't filter out invalid filenames when we're sending them as a deletion 2020-02-17 08:40:17 +10:00
Damien Elmes
bf50f88540 handle read errors during zip build 2020-02-17 08:40:17 +10:00
Damien Elmes
eddf9fdc44 clean up invalid media DB entries on the fly, instead of requiring DB check 2020-02-17 08:40:17 +10:00
Damien Elmes
7ae6244f6a log media DB change registration progress, and allow aborting it 2020-02-17 08:40:17 +10:00
Damien Elmes
e5f9ed5a5b move change tracking into separate file 2020-02-17 08:40:17 +10:00
Damien Elmes
5fe1bfc5b4 simplify code by accumulating stats at the source 2020-02-17 08:40:17 +10:00
Damien Elmes
4289f7a02a move sync_media() into MediaManager 2020-02-17 08:40:17 +10:00
Damien Elmes
32a3b5a020 tidy up sync.rs 2020-02-17 08:40:17 +10:00
Damien Elmes
9067bf98bd handle concurrent modifications and ankiweb terminating early 2020-02-17 08:40:17 +10:00
Damien Elmes
e0511c560b update dirmod as files added during sync 2020-02-17 08:40:17 +10:00
Damien Elmes
631bdc2a1e add debug line 2020-02-17 08:40:17 +10:00
Damien Elmes
23f5c7cb9b rename non-normalized filenames when downloading 2020-02-17 08:40:17 +10:00
Damien Elmes
98279add15 defer errors on upload to media check 2020-02-17 08:40:17 +10:00
Damien Elmes
0f7fc1e960 add proper version 2020-02-17 08:40:16 +10:00
Damien Elmes
6a64c8dfcc use enums for some common errors 2020-02-17 08:40:16 +10:00
Damien Elmes
ec9abf1ce5 pass in endpoint 2020-02-17 08:40:16 +10:00
Damien Elmes
ea4de9a6de connect media sync progress to Python, add a progress dialog 2020-02-17 08:40:16 +10:00
Damien Elmes
c82cff3836 add progress hook to media sync 2020-02-17 08:40:16 +10:00
Damien Elmes
5e5906f183 store sync state in a struct, and reuse ctx across methods 2020-02-17 08:40:16 +10:00
Damien Elmes
f20b5b8db6 media sync working, but unpolished 2020-02-17 08:40:16 +10:00