Commit Graph

530 Commits

Author SHA1 Message Date
Damien Elmes
14a5ab353e fix duplicate/empty check 2020-06-02 17:34:34 +10:00
Damien Elmes
4d7e23111e change sync label to indicate sync state
- blue for normal sync, red for full sync required
- refactor status fetching code so we don't hold a collection lock
during the network request, which slows things down
- fix sync spinner restarting when returning to deck list
2020-06-02 13:23:01 +10:00
Damien Elmes
5729e9e336 "fix" v1 scheduler breaking after burySiblings change 2020-06-01 19:44:25 +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
c6f0710ce7 report normal sync progress
Also:
- provide a way for the progress handler to skip the throttling so that
we can ensure progress is updated at the end of a stage
- show 'checking' at the end of full sync
2020-06-01 13:57:10 +10:00
Damien Elmes
aecce5a516 fix mtime being bumped in .reset() 2020-06-01 13:57:10 +10:00
Damien Elmes
42302b070e fix de-auth when no media DB set up 2020-06-01 13:57:10 +10:00
Damien Elmes
0e5b7da62a login/full up/full down plugged in 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
6204a86879 tidy up sibling burying
closes #649
2020-06-01 13:48:15 +10:00
Damien Elmes
8516ed8655 handle images served from directory + svg content type
https://anki.tenderapp.com/discussions/ankidesktop/41974-win-linux-when-pasting-some-html-i-get-error-in-_run_command-ankirsbackendioerror-ioerror
2020-06-01 13:40:17 +10:00
Damien Elmes
8f9c6fbf95
Merge pull request #643 from evandroforks/add_repr_functions
Added __repr__ functions to common objects
2020-06-01 13:29:21 +10:00
evandrocoan
3318f23ff3 Say which card failed with an exception 2020-05-31 19:41:18 -03:00
evandrocoan
ef5c38dbc6 Added super().__repr__() to new __repr__() calls 2020-05-31 19:39:19 -03:00
evandrocoan
1e216e47ed Added __repr__ functions to common objects 2020-05-31 19:39:19 -03:00
Damien Elmes
97618564f4 fix typechecking breaking with latest mypy_protobuf
the change that caused it:
https://github.com/dropbox/mypy-protobuf/issues/118

This is more awkward to handle now, as the types are only available
at type-checking time. Python's static typing is such a mess :-(
2020-05-27 09:14:02 +10:00
Damien Elmes
3e156911e7 avoid printing the original exception bytes
Prevents the "while processing this exception, another exception
occurred" message
2020-05-25 14:28:37 +10:00
Damien Elmes
015de0c51f move generated methods into separate, gitignored file 2020-05-24 20:41:53 +10:00
Damien Elmes
c8d13209cd move dupe check to backend 2020-05-24 19:48:56 +10:00
Damien Elmes
38508c3ad7 use keyword args for calls with more than one argument 2020-05-24 09:12:47 +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
6710e3d528 add some more newtypes to the RPC defs 2020-05-23 16:58:01 +10:00
Damien Elmes
95735f106a migrate cards and notes 2020-05-23 16:19:48 +10:00
Damien Elmes
7550e6241c migrate decks and dconf methods 2020-05-23 15:09:16 +10:00
Damien Elmes
081a61a438 more methods 2020-05-23 14:01:36 +10:00
Damien Elmes
175afa9fee migrate more methods to service 2020-05-22 22:09:33 +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
0bf4fe400a fix deletion of decks; allow deleting cards from default
https://anki.tenderapp.com/discussions/beta-testing/1967-2126-189-g7384df8f-crash-at-note-types-fields-save#comment_48353232
2020-05-22 11:24:56 +10:00
Damien Elmes
9baa8530d5 move deck/notetype update hooks to gui
We need to migrate away from firing hooks in libanki, since libanki
methods may be running on a background thread, and hook consumers
typically expect the code to run in the main thread. We could document
it, but it would frequently be forgotten about, and could lead to
crashes.

https://anki.tenderapp.com/discussions/ankidesktop/41748-qobject-cannot-create-children-for-a-parent-that-is-in-a-different-thread-when-hitting-the-save-button-on-clayoutpy-window
2020-05-22 10:47:14 +10:00
Damien Elmes
1844cc84cc can't use _card.note_type() in clayout 2020-05-22 09:58:58 +10:00
Damien Elmes
c52a076176 add back most of .fields() to avoid breaking add-ons 2020-05-21 12:08:51 +10:00
Damien Elmes
44ca4b32eb use longer delay in test_timing()
was intermittently failing in slow Windows CI
2020-05-21 09:33:49 +10:00
evandrocoan
b388c43454 Fixed HttpClient session not being closed 2020-05-20 19:20:41 -03:00
Damien Elmes
d5e48fdf65 fix deck age being used instead of collection
https://anki.tenderapp.com/discussions/ankidesktop/41637-bug-in-statistics
2020-05-20 19:46:01 +10:00
Damien Elmes
e2bb5cd14a update missed storage._Collection references 2020-05-20 19:45:46 +10:00
Damien Elmes
50fdf9b03d storage->collection 2020-05-20 17:58:28 +10:00
Damien Elmes
c49c378296 move storage logic into collection.py; fix export bug
https://anki.tenderapp.com/discussions/ankidesktop/41495-using-file-export-closes-the-collection-on-mwcoldb-if-the-browser-window-is-open
2020-05-20 17:43:34 +10:00
Damien Elmes
0c85397461 fix extending limits in custom study
https://anki.tenderapp.com/discussions/beta-testing/1967-2126-189-g7384df8f-crash-at-note-types-fields-save
2020-05-20 14:13:40 +10:00
Damien Elmes
7384df8f19
Merge pull request #613 from evandroforks/add_missing_file_descriptors_close
Add missing close file descriptors using context managers
2020-05-19 14:39:07 +10:00
Damien Elmes
e17d63083c catch protobuf error as well
Sad that we can't exhaustively match protobuf oneofs in
Python :-(
2020-05-19 13:10:20 +10:00
evandrocoan
083cc8ae4e Simplified csvfile.py super call __del__ call 2020-05-18 16:20:33 -03:00
evandrocoan
200bad3714 Explicitly close the importer file descriptor
https://github.com/ankitects/anki/pull 613
2020-05-18 15:54:20 -03:00
evandrocoan
efb62b9528 Add missing close file descriptors using context managers 2020-05-18 15:54:20 -03:00
Damien Elmes
8bd5d756e2 bump version 2020-05-18 12:50:20 +10:00
Damien Elmes
68465ae07b protobuf tidyups 2020-05-18 09:26:14 +10:00
Damien Elmes
7ec3f1ecc0 fix syncing 2020-05-17 20:52:02 +10:00
Damien Elmes
69537bb748 minor tidyups in decks.py 2020-05-17 20:13:29 +10:00
Damien Elmes
803aeff16e update current note type in backend 2020-05-17 20:01:16 +10:00