Damien Elmes
b51f03085e
migrate card stats to backend
...
Currently this renders the HTML directly like the previous Python
implementation - doing it in JS would probably make more sense in the
future.
2020-06-15 17:22:16 +10:00
Damien Elmes
8e895aa247
handle db errors the same way as other backend requests
2020-06-12 20:39:02 +10:00
Damien Elmes
cf6d4f1cb9
pass db json back as bytes
2020-06-12 20:20:29 +10:00
Damien Elmes
1fe18718f7
add daily count updating to backend
2020-06-05 19:49:53 +10:00
Damien Elmes
4a69b55a90
add note/card removal to backend
2020-06-04 18:21:04 +10:00
Damien Elmes
90e19daec2
handle aborting normal sync
...
- Use a separate abort handle, as the media sync is running
in the background and we need to be able to target them separately.
The current progress handling is going to need a rethink if we introduce
any other background tasks in the future.
- Roll back the transaction when interrupting.
2020-06-01 13:57:10 +10:00
Damien Elmes
ee6d7f82e7
rework progress handling
...
- client now polls status instead of backend pushing it
- supports multiple threads
- update throttling happens in one place
2020-06-01 13:57:10 +10:00
Damien Elmes
b254b1f722
another snapshot of sync work
...
progress handler is going to need to be reworked to function across
threads
2020-06-01 13:57:10 +10:00
Damien Elmes
f10d0ee0cb
more syncing work
...
no checks yet
2020-06-01 13:57:10 +10:00
Damien Elmes
c8d13209cd
move dupe check to backend
2020-05-24 19:48:56 +10:00
Damien Elmes
89dde3aeb0
migrate the remaining methods
2020-05-24 08:36:50 +10:00
Damien Elmes
4bf8175bcb
migrate more scheduling/media/etc
...
almost there
2020-05-23 21:34:19 +10:00
Damien Elmes
a105037ec9
migrate notetypes, update GIL list
2020-05-23 20:43:55 +10:00
Damien Elmes
9c20d9a02b
start reworking protobuf handling
...
Will allow us to cut down on boilerplate by automatically generating
code from RPC service definitions
2020-05-22 20:56:15 +10:00
Damien Elmes
d7cdb10aa8
fix some clippy lints
2020-05-02 08:55:27 +10:00
Damien Elmes
ba17567617
drop the separate i18n backend
2020-03-20 21:15:23 +10:00
Damien Elmes
daaf8bdc70
release the GIL during a DB request
2020-03-20 21:15:23 +10:00
Damien Elmes
ae06b9e446
add Collection struct, and get media check working again
...
- media check no longer needs collection to be closed
- use savepoints for operations initiated by Rust, so they are
atomic without forcing a commit
2020-03-20 21:15:23 +10:00
Damien Elmes
2cd7885ec0
add begin/commit/rollback, and support creating collections
...
all but one unit test is now passing
2020-03-20 21:15:23 +10:00
Damien Elmes
b51e575a9d
drop the protobuf prototype
2020-03-20 21:15:23 +10:00
Damien Elmes
b876d97770
use (or)json for DB bridge
...
Some initial testing with orjson indicates performance varies from
slightly better than pysqlite to about 2x slower depending on the type
of query.
Performance could be improved by building the Python list in rspy
instead of sending back json that needs to be decoded, but it may make
more sense to rewrite the hotspots in Rust instead. More testing is
required in any case.
2020-03-20 21:15:23 +10:00
Damien Elmes
ba4fe71eba
make logging explicit, and support logging to a file
2020-02-29 20:44:01 +10:00
Damien Elmes
0e931808c9
translations no longer require an open collection
2020-02-23 14:57:02 +10:00
Damien Elmes
0f7fc1e960
add proper version
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
00f431d94e
use separate fn to init backend, for future pyo3 0.9 release compat
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
Damien Elmes
4096d21c07
add add_file() and write_data()
2020-02-17 08:40:16 +10:00
Damien Elmes
0aa01605d7
add buildhash to rspy and aqt, and check all three modules match
2020-01-03 15:15:18 +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