Damien Elmes
27b783ac72
tidying
2020-02-17 08:40:17 +10:00
Damien Elmes
76a61b8adf
hold the DB open for the duration of the check
2020-02-17 08:40:17 +10:00
Damien Elmes
f1b0431cbd
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
5ec977c74b
factor entry code out for later
2020-02-17 08:40:17 +10:00
Damien Elmes
1ca15c10d6
mgr didn't need to be mutable
2020-02-17 08:40:17 +10:00
Damien Elmes
2d859df88f
nfc helper
2020-02-17 08:40:17 +10:00
Damien Elmes
7079063855
ignore 0 byte files when picking up changes
2020-02-17 08:40:17 +10:00
Damien Elmes
62924237d3
don't add non-normalized files to media DB
2020-02-17 08:40:17 +10:00
Damien Elmes
88ac38fc55
media table doesn't need rowid
2020-02-17 08:40:17 +10:00
Damien Elmes
51e5d4b792
dirty index doesn't need to cover false case
2020-02-17 08:40:17 +10:00
Damien Elmes
742ab59edb
handle read errors during zip build
2020-02-17 08:40:17 +10:00
Damien Elmes
ef522b235a
clean up invalid media DB entries on the fly, instead of requiring DB check
2020-02-17 08:40:17 +10:00
Damien Elmes
9c60f2c77e
log media DB change registration progress, and allow aborting it
2020-02-17 08:40:17 +10:00
Damien Elmes
8e31068f0a
move change tracking into separate file
2020-02-17 08:40:17 +10:00
Damien Elmes
ef14b1a96b
simplify code by accumulating stats at the source
2020-02-17 08:40:17 +10:00
Damien Elmes
b21d24f6e8
move sync_media() into MediaManager
2020-02-17 08:40:17 +10:00
Damien Elmes
a769fb6172
update rslib version automatically
2020-02-17 08:40:17 +10:00
Damien Elmes
b62819092a
remove duplicate method
2020-02-17 08:40:17 +10:00
Damien Elmes
e352a6b95c
tidy up sync.rs
2020-02-17 08:40:17 +10:00
Damien Elmes
08eb9d70c8
handle concurrent modifications and ankiweb terminating early
2020-02-17 08:40:17 +10:00
Damien Elmes
3ee1d3f0da
update dirmod as files added during sync
2020-02-17 08:40:17 +10:00
Damien Elmes
775c83e89a
add debug line
2020-02-17 08:40:17 +10:00
Damien Elmes
00cd3be1a0
fix force_resync()
2020-02-17 08:40:17 +10:00
Damien Elmes
c0e7975fe7
rename non-normalized filenames when downloading
2020-02-17 08:40:17 +10:00
Damien Elmes
2c27c11584
comply with manylinux wheel requirements, and vendor sqlite on Windows
2020-02-17 08:40:17 +10:00
Damien Elmes
1f931a5b78
defer errors on upload to media check
2020-02-17 08:40:17 +10:00
Damien Elmes
2cecae4ca7
add proper version
2020-02-17 08:40:16 +10:00
Damien Elmes
77158760ff
use enums for some common errors
2020-02-17 08:40:16 +10:00
Damien Elmes
81262ffd95
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
b883b09414
pass in endpoint
2020-02-17 08:40:16 +10:00
Damien Elmes
738e415463
connect media sync progress to Python, add a progress dialog
2020-02-17 08:40:16 +10:00
Damien Elmes
50d8a40e23
add progress hook to media sync
2020-02-17 08:40:16 +10:00
Damien Elmes
e26ab9073b
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
e764e68324
store sync state in a struct, and reuse ctx across methods
2020-02-17 08:40:16 +10:00
Damien Elmes
78bfbef863
media sync working, but unpolished
2020-02-17 08:40:16 +10:00
Damien Elmes
b2b8370477
bump nightly for the unwrap source line fix
2020-02-17 08:40:16 +10:00
Damien Elmes
973d8c56d6
more refactoring
2020-02-17 08:40:16 +10:00
Damien Elmes
7430d3c64f
rearrange some methods to make structure clearer
2020-02-17 08:40:16 +10:00
Damien Elmes
1acb3b86b9
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
Damien Elmes
6bf4b9e83e
port change tracking
2020-02-17 08:40:16 +10:00
Damien Elmes
4f08ae9e27
make sure results are checked
2020-02-17 08:40:16 +10:00
Damien Elmes
9bc38647e6
initial rs implementation of media database
2020-02-17 08:40:16 +10:00
Damien Elmes
c9a5ed3cc6
add add_file() and write_data()
2020-02-17 08:40:16 +10:00
Damien Elmes
9ec6d26db7
add another implementation of media.addFile() and cleanFilename() et al
...
Instead of adding an incrementing number in the conflict case,
the file hash is appended.
2020-02-17 08:40:16 +10:00
Damien Elmes
391a58077a
show which side the template error occurred on
2020-02-08 11:54:08 +10:00
Damien Elmes
fc3570c949
clearer error when closing tags transposed
2020-02-08 10:32:34 +10:00
Damien Elmes
86a580d820
reuse reveal_cloze_text() for LaTeX cloze expansion
2020-01-28 07:40:44 +10:00
Damien Elmes
d598ce45fe
move cloze-related code into a separate file
2020-01-27 20:41:23 +10:00
Damien Elmes
47bcb3845c
support speed control in tts tags
2020-01-26 14:31:07 +10:00
Damien Elmes
46c6a7f7e4
extract and flag AV tags as part of the render process
...
We can now show replay buttons for the audio contained in {{FrontSide}}
without having to play it again when the answer is shown.
The template code now always defers FrontSide rendering, as it wasn't
a big saving, and meant the logic had to be implemented twice.
2020-01-24 11:06:11 +10:00