abdo
4911945b9b
Refactor code for clearing unused tags and saving collapse state
2021-01-14 07:04:14 +03:00
RumovZ
895b3a0b6f
Use backend to set dupe filter
2021-01-14 10:42:37 +10:00
Damien Elmes
6cc58451b1
add local sync server frontend
2021-01-13 11:42:00 +10:00
abdo
c423e8d7bb
Merge branch 'master' of https://github.com/ankitects/anki into tagtree
2021-01-12 23:31:58 +03:00
Damien Elmes
48892e588b
tidy up UTC offset handling/timing calculations
...
- use the TimestampSecs newtype instead of raw i64s
- use FixedOffset instead of a minutes_west offset
- check localOffset each time the timing is calculated, and set it
if it's stale - even for v1.
- check for and fix missing rollover when calculating timing
- stop explicitly passing localOffset in the sync/start call
2021-01-12 21:32:56 +10:00
Damien Elmes
5e34168f7f
remove temporary sync/dbcheck logging
2021-01-12 18:47:08 +10:00
Damien Elmes
0accefcd94
drop basicCheck()
...
It can considerably slow down syncing on large collections
2021-01-12 18:47:08 +10:00
Damien Elmes
4b98ce0145
Merge pull request #917 from hgiesel/querynozero3
...
Coerce added/edited:0 to 1, Constrain rated:n to 1-365
2021-01-11 16:24:12 +10:00
Henrik Giesel
3d2fcb6215
Adjust pyblib test_find
2021-01-10 16:25:52 +01:00
RumovZ
3d93d440c9
Also add FilterToSearch to want_release_gil()
2021-01-10 11:31:00 +01:00
RumovZ
02837ebbef
Use explicit wrapper functions to get filters
2021-01-09 16:48:47 +01:00
abdo
a17d309ed3
Move tag collapse method to the backend
2021-01-09 17:10:16 +03:00
abdo
a18227acc4
Do not check for missing tag parents at registration time
2021-01-09 17:10:16 +03:00
abdo
a30a2638ce
Hierarchical tags
2021-01-09 17:10:13 +03:00
RumovZ
370c689c83
Prettify frontend filter code
2021-01-09 12:34:46 +01:00
RumovZ
0cb75f5601
Use backend filters instead of literal searches
2021-01-09 10:51:15 +01:00
RumovZ
ad361e7a77
Provide ConcatSeparator through rsbackend.py
2021-01-07 17:48:30 +01:00
RumovZ
e563e4a19e
Add writer functions to want_release_gil()
2021-01-07 13:09:00 +01:00
Damien Elmes
2b5ef0b9a8
fix qt/ pylints
2021-01-07 16:21:50 +10:00
Damien Elmes
f333c3332a
Make orjson optional again
...
While 32 bit platform support is probably not going to come back,
this allows Anki to run on other architectures orjson doesn't support.
2021-01-07 09:44:40 +10:00
Damien Elmes
ceca13516b
no need to log card resets when exporting
2021-01-05 11:11:37 +10:00
Damien Elmes
3123e6df7f
do tag rename and tag clearing in background; move logic to tags.py
...
Because the logic is in rename_tag() now, it means we create a
checkpoint even if the tag is orphaned. This is because currently
checkpointing is a GUI responsibility. In the future we need to introduce
multi-level undo, and should move responsibility for managing it
to the backend.
2021-01-04 14:14:39 +10:00
Damien Elmes
2e4434df4f
add linux_arm64 platform
2020-12-29 18:40:39 +10:00
Damien Elmes
0d3b80abd7
Merge pull request #866 from guillem-palau-salva/master
...
Update consts.py
2020-12-29 10:15:42 +10:00
Damien Elmes
ff0382ce11
Merge pull request #872 from RumovZ/fix-deck-check
...
Fix deck check and thus blue sync arrow bug
2020-12-29 10:11:59 +10:00
RumovZ
b4fa13aa0e
Fix deck check and thus blue snyc arrow bug
...
Cast col.decks.selected() to int so the return type fits the annotation.
Thus, fix the comparison in col.decks.select() which was leading to
a superfluous db modification and in turn to a false indication of a
necessary sync right after another one in certain cases.
2020-12-29 00:29:36 +01:00
Guillem Palau-Salvà
2b5a6be3fa
Update consts.py
...
I notices that type 4 is added in the revlog when rescheduling. Reviews are logged as 0 time and type 4.
2020-12-27 01:02:32 +01:00
Damien Elmes
d222686755
update to stable pyo3 0.13 release
2020-12-23 10:08:38 +10:00
Damien Elmes
25160daa90
tag the wheels as manual so test ... doesn't build them
2020-12-21 19:28:47 +10:00
Damien Elmes
250a45d32e
possible fix for sync button colour blue after sync
...
If the client's clock is behind AnkiWeb's, even by a few seconds,
we can end up with a situation where last_begin_at is updated after
the sync to a value less than the mtime we received from AnkiWeb,
causing the collection to be saved, which bumps the modtime.
Work around this by recording mtime at begin() time, and seeing if it
has changed in either direction.
Thanks to Rumo, who did the hard work looking into it:
https://forums.ankiweb.net/t/why-is-my-sync-button-blue/2078/21
2020-12-21 19:27:26 +10:00
Damien Elmes
407b7f7410
tweak naming and move method into col.decks
2020-12-20 10:26:16 +10:00
k12ish
5da867c88a
Added type hints, renamed kwarg
2020-12-19 18:12:58 +00:00
k12ish
9dc01bace1
Added method
2020-12-19 17:59:07 +00:00
Damien Elmes
faf992643a
exhaustiveness checks on literals are now possible with the move to py38
2020-12-18 16:50:55 +10:00
Damien Elmes
9f3659a1d3
use QtMultimedia for recording instead of PyAudio
...
The unmute-on-first-duration-change approach is to try to prevent
clicks/pops that can happen at the start of recordings. If it doesn't
solve the problem, we may need to drop down to the lower-level
QAudioInput().
Closes https://github.com/ankitects/help-wanted/issues/23
May fix https://forums.ankiweb.net/t/anki-crashes-periodically-after-clicking-record-audio-button/5824 ,
which I suspect was caused by processEvents()
2020-12-16 19:33:25 +10:00
Damien Elmes
42f583f8a1
fix some warnings on startup
2020-12-16 15:38:24 +10:00
Damien Elmes
32a71c5418
remove conditional rsbackend_gen import
...
It causes PyCharm to think methods are missing on col.backend, and
should not be needed with the move to Bazel.
2020-12-16 13:30:54 +10:00
Damien Elmes
c28885d191
add type stub for _rsbridge to make PyCharm happy
2020-12-16 13:13:42 +10:00
Damien Elmes
5c93898e32
symlink generated .py/.pyi into tree to fix Python code completion
2020-12-16 11:36:42 +10:00
Damien Elmes
75a97d75ee
add ability to specify an individual Python test
2020-12-16 10:40:29 +10:00
Damien Elmes
f7b87bb716
minor doc updates
2020-12-11 22:37:12 +10:00
Damien Elmes
7a95d7e189
remove unwanted leading '/' in wheel records
2020-12-10 23:02:18 +10:00
Damien Elmes
51635ff7e4
simplify wheel building
2020-12-10 20:27:21 +10:00
Damien Elmes
cf8cfcf97f
drop unused i686 references
...
https://forums.ankiweb.net/t/changing-ankis-build-system-to-bazel/4737/9
2020-12-09 15:45:01 +10:00
Damien Elmes
1315d8b3c1
update Rust deps incl. Pyo3
...
This includes the refcount bug fix from pyo3 0.12.4
2020-12-01 16:48:45 +10:00
Damien Elmes
00d7a99562
expose Gaelic in language selection
2020-11-30 14:44:29 +10:00
Damien Elmes
2f9ddadf2c
switch to workspace for Rust code
2020-11-24 18:41:03 +10:00
Damien Elmes
6a1cf40dcd
Merge branch 'master' into init-lang
2020-11-22 16:10:49 +10:00
Damien Elmes
68311500b3
update remaining python format strings to Fluent
2020-11-22 14:57:53 +10:00
abdo
d06a9137b6
Set up default language before loading profile
...
We can make more strings translatable this way.
2020-11-21 05:29:23 +03:00
Damien Elmes
4043bd90bb
Merge pull request #823 from RumovZ/rework-search-parser
...
Rework search parser
2020-11-20 16:22:12 +10:00
abdo
702c5712e4
Fix description of exporters
...
Description broke yet again with the full migration to Fluent
2020-11-19 23:52:46 +03:00
RumovZ
4e7a31250f
Add Python test for tag whitespace
...
Assert tag matches do not occur across different tags.
2020-11-19 09:28:19 +01:00
RumovZ
f05e70a03e
Merge branch 'master' into rework-search-parser
...
Conflicts:
rslib/src/search/sqlwriter.rs
2020-11-18 09:04:04 +01:00
Damien Elmes
e271c63537
remove print statement from unit tests
2020-11-18 13:56:44 +10:00
Damien Elmes
ebd1236ab0
strip out unused gettext refs
2020-11-18 13:22:51 +10:00
Damien Elmes
7e655614b2
fix remaining _() references; remove unused imports
2020-11-18 12:43:46 +10:00
Damien Elmes
bd0919b7f1
update pylib ngettext references
2020-11-18 09:12:25 +10:00
Damien Elmes
346ec6880e
drop i18n references in old stats
2020-11-18 09:12:03 +10:00
Damien Elmes
2feddb3d70
update temporary val="%s" references to standard ftl
2020-11-17 22:00:44 +10:00
Damien Elmes
1781e83252
merge pylib references
2020-11-17 19:23:06 +10:00
Damien Elmes
83cbe0d412
map gettext strings to keys/modules for ftl conversion
2020-11-17 14:11:09 +10:00
RumovZ
66241f642a
Update frontend test to new escape handling
2020-11-15 09:39:10 +01:00
Damien Elmes
ad5cbf195f
use full path in backend_pb2 import
2020-11-13 14:21:21 +10:00
Damien Elmes
a4af59fc4d
format_fix -> format; rename svelte-check for consistency
2020-11-12 20:19:32 +10:00
Damien Elmes
c1e154e3ad
update Python deps
2020-11-12 20:03:41 +10:00
Damien Elmes
dc9026e9d7
orjson was missing from dep list; drop 32 bit compat
2020-11-12 20:03:41 +10:00
Damien Elmes
db24dcf9a7
add coding specifier to anki/__init__.py
...
older gettext versions will complain otherwise (was breaking Windows CI)
2020-11-11 21:51:11 +10:00
Damien Elmes
593e9d4e7b
Merge pull request #817 from cecini/formatcheck
...
Update mypy and black format check to python version 3.8
2020-11-11 21:36:32 +10:00
Damien Elmes
c62e6e61c2
update i18n scripts
...
- export updated .po files for consumption
- add a script to pull and push translations
2020-11-11 21:08:06 +10:00
cecini
28abd41925
Update mypy and black format check to python version 3.8
2020-11-11 09:24:28 +00:00
Damien Elmes
f8d402ee70
fix error exporting v2 collection when translations don't match
...
https://forums.ankiweb.net/t/utf8-error-in-importing-deck/4430/13
2020-11-11 15:42:08 +10:00
Damien Elmes
ec74cf6730
handle packaged pylib buildinfo.txt; drop aqt buildinfo
2020-11-11 10:33:49 +10:00
Damien Elmes
8147c9996a
Merge pull request #793 from nwwt/object-audio-tags-support
...
Audio & object tag support
2020-11-11 10:33:31 +10:00
Andreas Reis
81d6d21ae3
cleanup / renames
...
・ soundRegexps → sound_regexps
・ htmlRegexps → html_media_regexps
・ HTML_TAGS → HTML_MEDIA_TAGS
・ escapeImages → escape_media_filenames + alias
・ strip_html_preserving_image_filenames → strip_html_preserving_media_filenames
2020-11-10 14:53:04 +01:00
ianki
28ad68d490
Add hooks for filtering media.
2020-11-09 02:12:23 -08:00
Damien Elmes
338836ebb9
cleanups
2020-11-05 11:21:13 +10:00
Damien Elmes
ad809943bf
fix backend_pb2 race
2020-11-05 11:02:40 +10:00
Damien Elmes
507a17b9e0
unused import
2020-11-04 21:04:42 +10:00
Damien Elmes
e4ba941cf1
move aqt_data into source folder; implement wheel building
2020-11-04 12:14:03 +10:00
Damien Elmes
f0e3d29979
switch to the stable Python ABI
...
Should allow the library to be imported in both Python 3.8+3.9.
2020-11-03 20:29:07 +10:00
Alan Du
3d68b22962
Update to PyO3 0.12
...
+ cargo raze by Damien
2020-11-02 18:38:34 +10:00
Damien Elmes
db0e0e78f8
update cargo deps; add script to copy them from rslib/
2020-11-02 18:17:26 +10:00
Damien Elmes
7c27c4b9a0
move backend.proto into rslib/
2020-11-02 16:28:31 +10:00
Damien Elmes
a7f403f0b0
rspy -> pylib/rsbridge
2020-11-02 15:21:12 +10:00
Damien Elmes
f9171eb3d3
remove old makefiles
2020-11-01 14:41:01 +10:00
Damien Elmes
ce3b08ac58
initial Bazel conversion
...
Running and testing should be working on the three platforms, but
there's still a fair bit that needs to be done:
- Wheel building + testing in a venv still needs to be implemented.
- Python requirements still need to be compiled with piptool and pinned;
need to compile on all platforms then merge
- Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally
unified into one place
- Currently using rustls to work around openssl compilation issues
on Linux, but this will break corporate proxies with custom SSL
authorities; need to conditionally use openssl or use
https://github.com/seanmonstar/reqwest/pull/1058
- Makefiles and docs still need cleaning up
- It may make sense to reparent ts/* to the top level, as we don't
nest the other modules under a specific language.
- rspy and pylib must always be updated in lock-step, so merging
rspy into pylib as a private module would simplify things.
- Merging desktop-ftl and mobile-ftl into the core ftl would make
managing and updating translations easier.
- Obsolete scripts need removing.
- And probably more.
2020-11-01 14:26:58 +10:00
Andreas Reis
c77ac81e9d
Add audio & object tags to media check
...
Makes the media check recognize files in <audio> and <object> tags as used.
They've been observed/supported by the WebView (checked: Anki, AnkiDroid) since just about forever already and are extremely useful if one knows a thing about web dev.
2020-10-25 13:09:57 +01:00
Arthur Milchior
7287b295f4
NF: uses consts and update comment according to code
2020-10-15 08:22:23 +02:00
Damien Elmes
597b81ebeb
Merge pull request #782 from johan456789/patch-1
...
fix outdated help site
2020-10-12 12:15:46 +10:00
Damien Elmes
909367efc1
fixes for latest mypy
2020-10-10 19:02:59 +10:00
johan456789
7130a21e8d
fix outdated help site
2020-10-07 19:38:49 +08:00
Damien Elmes
2ed1507162
bump version
2020-10-02 10:22:21 +10:00
Arthur Milchior
fa13c0cc20
NF: uses consts in col
2020-09-27 09:01:47 +02:00
Damien Elmes
1a619073d7
bump version
2020-09-24 10:52:24 +10:00
Arthur Milchior
b322e6d5f2
NF: remove _changedGuids
...
Nothing is ever added to the map.
That was a bug detected by lint in ankidroid
2020-09-21 06:02:10 +02:00
Damien Elmes
28b5c6c107
small learning steps were being stored as a float
...
https://forums.ankiweb.net/t/bug-with-fractional-learning-intervals/3524/5
2020-09-20 10:29:39 +10:00
Damien Elmes
bc60d233e5
rebuild_filtered_deck() and new_filtered()
2020-09-03 18:02:47 +10:00
Damien Elmes
6f7f5686e8
empty_filtered_deck()
2020-09-03 17:43:07 +10:00
Damien Elmes
f32d773e25
set_deck()
2020-09-03 17:42:46 +10:00
Damien Elmes
7c169daa95
move card sorting and resetting to backend
2020-09-03 15:54:15 +10:00
Damien Elmes
366c5c4774
log manual reschedule, but ignore the log entry in the stats
2020-09-02 17:56:23 +10:00
Damien Elmes
31b7d7d645
move reschedCards() to backend
2020-09-02 17:56:23 +10:00
Damien Elmes
396081d329
move filtered deck empty/fill to backend
...
emptying of individual card ids still to be done
2020-09-02 17:56:23 +10:00
Damien Elmes
0f6840596b
fix night mode on old graphs
2020-09-02 17:56:12 +10:00
Damien Elmes
7f42500e53
rename some card+note fields in backend
2020-09-01 10:24:38 +10:00
Damien Elmes
9f51347e1e
move bury/suspend into backend
2020-09-01 10:24:38 +10:00
Damien Elmes
a8f84c1264
formatting fixes for latest black
2020-09-01 10:24:38 +10:00
Damien Elmes
988b3c00c1
move unbury/unsuspend routines into backend
2020-09-01 10:24:38 +10:00
Damien Elmes
999b659c3a
reimplement congrats screen in Rust+Typescript
2020-09-01 10:24:38 +10:00
Damien Elmes
8ad734afc5
add missing pylint/isort deps
2020-08-31 14:07:04 +10:00
Damien Elmes
8729edffbb
update to latest black
2020-08-31 13:29:28 +10:00
Damien Elmes
aeca369c9b
update to latest isort, pylint and pytest
2020-08-31 12:05:36 +10:00
Damien Elmes
204db71586
fix new pylint raise-missing-from lint
2020-08-31 12:04:14 +10:00
Damien Elmes
f3c6d565b0
bump version
2020-08-31 11:07:54 +10:00
Damien Elmes
7cfeb6cbb3
check if we need to unbury at the start of the sync process
...
https://forums.ankiweb.net/t/bug-buried-cards-in-filtered-decks-not-being-unburied-next-day/2541/24
2020-08-28 21:09:07 +10:00
Damien Elmes
864864f650
fix next learn message overestimating delay
...
https://forums.ankiweb.net/t/bug-with-short-intervals-in-anki-2-1-scheduler/2678
2020-08-27 09:35:31 +10:00
Damien Elmes
31f011b3a5
fix description in export screen (thanks to ANH)
...
https://forums.ankiweb.net/t/anki-2-1-31-exporting-display-bug/2669/3
2020-08-26 08:33:35 +10:00
Damien Elmes
2f6d816cdc
bump version
2020-08-26 08:05:45 +10:00
Damien Elmes
58c8609332
bump version
2020-08-24 11:28:22 +10:00
Damien Elmes
9ae45ecea2
revlog entry should not be deleted when undoing preview card
...
The plan is to add a revlog entry when previewing in the future; this
is just a temporary fix.
2020-08-19 16:44:06 +10:00
Arthur Milchior
110f4c664f
Any removed
2020-08-12 01:37:21 +02:00
Arthur Milchior
a74601a0f0
NF: childMapNode
2020-08-12 00:42:42 +02:00
Damien Elmes
4629dd38fb
bump version
2020-08-09 13:44:59 +10:00
Damien Elmes
fa9aa82830
previous fs encoding test didn't catch things like latin-1
...
https://forums.ankiweb.net/t/unicodeencodeerror-when-syncing/1746
2020-08-03 11:29:07 +10:00
Damien Elmes
02c7a0e339
enable strict equality checks in mypy
...
Without it, the following code reports no problems:
def foo() -> int:
return 5
print(foo == 5)
2020-08-03 10:26:40 +10:00
Damien Elmes
1902e839e3
fix missing translations in export screen
...
https://forums.ankiweb.net/t/untranslated-strings/1623
2020-07-31 13:33:41 +10:00
Damien Elmes
cecdebc70b
pin pytest due to pylint issue
2020-07-29 14:52:45 +10:00
Matt Krump
d4511e3287
Turn on check_untyped_defs for aqt.exporting
2020-07-28 18:42:22 -06:00
Damien Elmes
d3653ab6d5
bump version
2020-07-28 12:59:56 +10:00
Damien Elmes
39272c436e
force old graphs to use ltr
...
otherwise the axis labels are way off
https://forums.ankiweb.net/t/anki-2-1-29-beta/1220/8
2020-07-22 14:30:56 +10:00
Damien Elmes
7e78d12b99
bump version
2020-07-21 15:54:14 +10:00
Damien Elmes
876f474b7d
apply rtl dir to webviews
...
https://forums.ankiweb.net/t/gui-problems-with-right-to-left-languages/1205
2020-07-21 11:52:25 +10:00
Damien Elmes
15bc3c4033
Merge pull request #698 from Arthur-Milchior/remove_clear_overdue
...
remove _clearOverdue
2020-07-21 10:27:04 +10:00
Arthur Milchior
e40c3b4254
remove unused variable
2020-07-20 10:17:23 +02:00
Arthur Milchior
d686aeccad
duplicate assignment removed
2020-07-20 06:47:47 +02:00
Arthur Milchior
d983feaefe
typo
2020-07-20 06:28:36 +02:00
Arthur Milchior
b4c32db460
remove useless variable cram
2020-07-20 06:24:42 +02:00
Arthur Milchior
4885404afb
remove _clearOverdue
...
This member is never read
2020-07-20 05:45:18 +02:00
Damien Elmes
3ca4a882a1
Merge pull request #692 from Arthur-Milchior/remove_useles_variables
...
Remove useless variables
2020-07-20 11:35:40 +10:00
Damien Elmes
f1202efe5f
Merge pull request #697 from Arthur-Milchior/typos
...
Comment typo
2020-07-20 11:34:02 +10:00
Damien Elmes
bc28a40e50
Merge pull request #696 from Arthur-Milchior/note_to_add_note
...
For some reason, add_note were assigned to a unused variable
2020-07-20 11:32:55 +10:00
Damien Elmes
6073644ed4
Merge pull request #695 from Arthur-Milchior/note->field
...
replace "note" by "field"
2020-07-20 11:32:30 +10:00
Arthur Milchior
8253ee59bc
Comment typo
2020-07-19 11:24:58 +02:00
Arthur Milchior
57aac57e93
For some reason, add_note were assigned to a unused variable
...
I remove it for clarity
2020-07-19 10:58:40 +02:00
Arthur Milchior
83fac5db14
replace "note" by "field"
...
My bad. In one case `f` did represent "field" and not "fact"
2020-07-19 08:24:43 +02:00
Arthur Milchior
d09cf43bab
Uses constant in tests
2020-07-19 05:34:22 +02:00
Arthur Milchior
d9fe9297ba
d2->col2
2020-07-17 17:55:57 +02:00
Arthur Milchior
2c5001a0e8
tmp->col in tests
2020-07-17 17:37:17 +02:00
Arthur Milchior
b553d32db2
f4->note4
2020-07-17 17:34:39 +02:00