Damien Elmes
cee8d4b789
DB check
...
Working, but should be refactored so media DB not re-opened
each time a file is renamed.
2020-02-17 08:40:17 +10:00
Damien Elmes
8aa2984d04
factor entry code out for later
2020-02-17 08:40:17 +10:00
Damien Elmes
ce241f9756
mgr didn't need to be mutable
2020-02-17 08:40:17 +10:00
Damien Elmes
f7c26724f3
nfc helper
2020-02-17 08:40:17 +10:00
Damien Elmes
933b7a9a34
ignore 0 byte files when picking up changes
2020-02-17 08:40:17 +10:00
Damien Elmes
4fa4a5077c
don't add non-normalized files to media DB
2020-02-17 08:40:17 +10:00
Damien Elmes
22793c8cd6
media table doesn't need rowid
2020-02-17 08:40:17 +10:00
Damien Elmes
1ca11e4268
dirty index doesn't need to cover false case
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
fb8f753d2d
update rslib version automatically
2020-02-17 08:40:17 +10:00
Damien Elmes
4c8ceeb809
remove duplicate method
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
93ddc749c0
set deployment target on Mac builds
2020-02-17 08:40:17 +10:00
Damien Elmes
631bdc2a1e
add debug line
2020-02-17 08:40:17 +10:00
Damien Elmes
1f35ff0bd5
fix force_resync()
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
0fb70dab0f
comply with manylinux wheel requirements, and vendor sqlite on Windows
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
d38c2c12d5
autosync media every ~15 minutes
2020-02-17 08:40:17 +10:00
Damien Elmes
12d009e503
autosync media on close
2020-02-17 08:40:17 +10:00
Damien Elmes
59a7993011
autosync media on startup
2020-02-17 08:40:17 +10:00
Damien Elmes
fdd850c0f0
add extra hook for media sync start/stop
2020-02-17 08:40:17 +10:00
Damien Elmes
0f7fc1e960
add proper version
2020-02-17 08:40:16 +10:00
Damien Elmes
de27cf2a63
if toolbar refreshed, make sure not to clear syncing
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
c329759a88
catch DB errors in sync
2020-02-17 08:40:16 +10:00
Damien Elmes
d7e4d10184
constant sync spin speed
2020-02-17 08:40:16 +10:00
Damien Elmes
8d97f862a4
defer media DB load until media action performed
...
This means a corrupt media DB will not prevent collection load.
2020-02-17 08:40:16 +10:00
Damien Elmes
ec9abf1ce5
pass in endpoint
2020-02-17 08:40:16 +10:00
Damien Elmes
0c124188cd
catch network errors
2020-02-17 08:40:16 +10:00
Damien Elmes
93c768cab9
move more logic into mediasync.py, handle auth errors
2020-02-17 08:40:16 +10:00
Damien Elmes
347ac80086
remove unused code
2020-02-17 08:40:16 +10:00
Damien Elmes
cb0ce4146f
show spinner when media sync active, click to reveal dialog
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
00f431d94e
use separate fn to init backend, for future pyo3 0.9 release compat
2020-02-17 08:40:16 +10:00
Damien Elmes
d0ee95c4cd
send removed files to the trash
...
The way the trash crate implements deletion on a Mac is ugly, and
we may need to look into alternatives.
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
Damien Elmes
1974981b94
bump nightly for the unwrap source line fix
2020-02-17 08:40:16 +10:00
Damien Elmes
ec8a91b493
more refactoring
2020-02-17 08:40:16 +10:00
Damien Elmes
10f64d54b8
rearrange some methods to make structure clearer
2020-02-17 08:40:16 +10:00
Damien Elmes
01470c4854
backend init can now fail, and update media db when file is added
...
- Adding files inside Anki now updates the media DB, so a full file
scan at sync time is no longer required if no other changes have been
made.
- Use a protobuf message for backend initialization, and return a
string error if initialization fails.
2020-02-17 08:40:16 +10:00