Damien Elmes
c9da4bc1a6
allow aborting a media sync while http req in flight
...
The progress handling code needs a rethink, as we now have two separate
ways to flag that the media sync should abort. In the future, it may
make sense to switch to polling the backend for progress, instead of
passing a callback in.
2020-04-01 09:49:25 +10:00
Damien Elmes
2810d3883b
roll back the vec cache changes
...
prepare_cached() is sufficiently fast, and allowing the vec cache
to persist across calls is complicated due to lifetime restrictions
2020-03-29 09:26:09 +10:00
Damien Elmes
1a1a00d50f
Revert "add benchmark for vec cache"
...
This reverts commit 82ed288dc5
.
2020-03-29 09:16:11 +10:00
Damien Elmes
82ed288dc5
add benchmark for vec cache
...
test storage::sqlite::bench::bench_hash_cache ... bench: 399 ns/iter (+/- 27)
test storage::sqlite::bench::bench_no_cache ... bench: 4,854 ns/iter (+/- 499)
test storage::sqlite::bench::bench_vec_cache ... bench: 0 ns/iter (+/- 0)
2020-03-27 09:59:48 +10:00
Damien Elmes
2f4e35d566
store cached statements in a vec instead of separate optionals
2020-03-27 09:51:19 +10:00
Damien Elmes
289bdde20c
handle fields with embedded nuls
2020-03-24 14:53:33 +10:00
Damien Elmes
4ff17d31b3
add unicase collation
...
sqlite's like is hard-coded to use ASCII comparisons, so we can't
take advantage of this yet
2020-03-21 12:40:20 +10:00
Damien Elmes
7eab504126
add field_at_index() sql func
2020-03-20 21:15:23 +10:00
Damien Elmes
761d1d1812
add card queue/type enums
2020-03-20 21:15:23 +10:00
Damien Elmes
f617760d04
bump version
2020-03-19 10:46:01 +10:00
Damien Elmes
071722c057
rspy version
2020-03-06 19:15:02 +10:00
Damien Elmes
f7ec2faba6
update to failure 0.1.7
2020-03-06 15:08:58 +10:00
Damien Elmes
bb0e5dfa93
work around bug in failure crate
2020-03-05 11:06:44 +10:00
Damien Elmes
ba4fe71eba
make logging explicit, and support logging to a file
2020-02-29 20:44:01 +10:00
Alan Du
3ebdaa14de
Update blake3 to 0.2
2020-02-26 22:50:48 -05:00
Alan Du
3867c20cfd
Update prost-build version to 0.6
...
This is the same version as Prost, and lets us reduce the number of deps
we have to compile
2020-02-26 22:48:16 -05:00
Damien Elmes
b412747a16
add workaround for panic on 32 bit systems
...
https://anki.tenderapp.com/discussions/beta-testing/1817-failed-to-generate-operands-out-of-fluentnumber-could-not-convert-string-to-integer
2020-02-25 13:22:41 +10:00
Damien Elmes
4430c67069
rework Fluent handling
...
- all .ftl files for a language are concatenated into a single file
at build time
- all languages are included in the binary
- external ftl files placed in the ftl folder can override the
built-in definitions
- constants are automatically generated for each string key
- dropped the separate StringsGroup enum
2020-02-23 13:22:50 +10:00
Damien Elmes
e31d576740
fluent-rs git no longer required
2020-02-21 21:30:11 +10:00
Damien Elmes
ffffdf2c85
fix revision pin
2020-02-21 15:29:38 +10:00
Damien Elmes
370bb38b8b
update to latest fluent-rs and add basic locale-aware decimals
...
- git version pinned at the moment until the concurrency fix
lands in 0.10.2
- currently float values are hard-coded at 2 decimal places;
we should switch to using NUMBER() in the future
2020-02-21 15:29:38 +10:00
Damien Elmes
683b7983f8
pin coarsetime for now, as .12 requires Sierra
2020-02-17 17:55:39 +10:00
Damien Elmes
61b9f70ab9
bump version
2020-02-17 08:40:17 +10:00
Damien Elmes
dc9362d4ed
add i18n support to Rust code using Fluent
2020-02-17 08:40:17 +10:00
Damien Elmes
fabfcb0338
gather field references in Rust; media check now mostly complete
2020-02-17 08:40:17 +10:00
Damien Elmes
e9f51a694c
use our own trash folder instead of using the system trash
...
the trash crate was invoking external commands on Macs and Linux
which is slow and likely to fall over if a large number of files need
to be deleted at once.
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
fb8f753d2d
update rslib version automatically
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
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
f20b5b8db6
media sync working, but unpolished
2020-02-17 08:40:16 +10:00
Damien Elmes
96f0a5cc3c
port change tracking
2020-02-17 08:40:16 +10:00
Damien Elmes
056c2d3fd1
initial rs implementation of media database
2020-02-17 08:40:16 +10:00
Damien Elmes
41266f46f1
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
0942ffbff6
add a simple TTS field filter
...
This simply wraps the field in extra text that the frontend will
deal with. Also added some helpers for extracting and stripping
audio and TTS tags from the rendered text.
2020-01-20 19:16:24 +10:00
Damien Elmes
94a72f970a
type: and hint: support
...
We may need to keep handling hints in the Python code for now until
i18n is sorted out.
2020-01-11 09:35:41 +10:00
Damien Elmes
f7ff0d1c17
flatten->render; pass field content in
...
This is paving the way to move the standard filters into Rust.
Non-empty fields are now determined in Rust, using a single regex
instead of the overkill stripHTMLMedia(). The old implementation
has been moved into the Pystache code for now.
2020-01-10 14:59:29 +10:00
Damien Elmes
5876866565
tweaking the folder names again
...
hopefully that's the last of it
2020-01-03 07:48:38 +10:00