Michal Pokorný (Rai)
9a2348d902
Fix import order
2019-12-27 17:21:42 +01:00
Michal Pokorný (Rai)
5ee08b1b36
Type annotations in notes.py
2019-12-27 17:14:46 +01:00
Michal Pokorný (Rai)
3357ecfed3
Add type annotation for model
2019-12-27 17:14:46 +01:00
Damien Elmes
7abd58382f
hold off on general release of v2 scheduler for now
...
The switch to the new timezone code may shift some users back or forth
a day, so it'd be better to have this in place prior to making the
new scheduler the default.
2019-12-27 21:53:20 +10:00
Damien Elmes
683edeeb07
send tz offset at start of sync; allow passing in offset at collection creation
2019-12-27 21:53:20 +10:00
Damien Elmes
92673c99d8
rework the new scheduler's rollover/day counting code
...
The previous implementation interpreted the creation date as a local
time, and applied the rollover to that. If the initial creation date
was around midnight local time, even a one hour change due to daylight
savings could result in Anki skipping or doubling up on a day. To
address this, the rollover is now applied to the current time instead
of the creation date.
The new code needs the current time passed into it. This makes it
easier to unit test, and for AnkiWeb to be able to use the user's local
timezone.
The new timezone code is currently disabled, as this code needs to be
ported to all clients before it can be activated.
2019-12-27 21:53:20 +10:00
Michal Pokorný (Rai)
a0d3c242af
Rename constants
2019-12-26 00:38:54 +01:00
Rai
020fa0b2f8
Merge branch 'master' into ref
2019-12-25 23:10:28 +01:00
Damien Elmes
49a2bd52f0
Merge pull request #387 from agentydragon/classmethods
...
Use @classmethod on methods that do not depends on instance state
2019-12-26 07:52:51 +10:00
Damien Elmes
df76e8a8ee
Merge pull request #388 from agentydragon/use-setdefault
...
Use dict.setdefault
2019-12-26 07:43:01 +10:00
Michal Pokorný (Rai)
60438a0219
Use dict.setdefault
2019-12-25 15:34:30 +01:00
Michal Pokorný (Rai)
ebd07a064e
Use @classmethod on methods that do not depends on instance state
2019-12-25 15:12:48 +01:00
Michal Pokorný (Rai)
567b3670b7
Use named groups instead of numbered groups to refer to clozeReg
2019-12-25 15:06:00 +01:00
Damien Elmes
518cc44267
add a few type hints
2019-12-25 09:19:57 +10:00
Damien Elmes
3e1b474dca
bridge->backend
2019-12-25 08:59:33 +10:00
Damien Elmes
6a8ea9e65b
if db lock fails, explicitly close database
...
on Windows at least, the database file otherwise remains locked after
an exception is raised on a read only file
2019-12-24 19:57:54 +10:00
Damien Elmes
280b010493
generate type stubs for Protobuf; disable pylint on rsbridge
2019-12-24 19:57:54 +10:00
Damien Elmes
b54c127372
switch to Google's (C++) Protobuf implementation
...
Brings the 100 field test down from 3 secs to 0.15 secs.
"betterproto" indeed!
2019-12-24 19:57:54 +10:00
Damien Elmes
3ce4d5fd3d
compute template requirements in Rust
...
on a 100 field template, what took ~75 seconds now takes ~3 seconds.
2019-12-24 19:57:54 +10:00
Damien Elmes
252a0cb54f
use protobuf for python/rust bridge
...
If we go ahead with betterproto on the Python side, it will mean
bumping the minimum Python dependency to 3.7.
2019-12-24 19:57:54 +10:00
Damien Elmes
f24a396c52
format
2019-12-24 19:57:54 +10:00
Damien Elmes
7733e03360
make it possible to implement functionality in Rust
2019-12-24 19:57:54 +10:00
Damien Elmes
4863431c93
add type hint to models
2019-12-24 14:06:31 +10:00
Damien Elmes
eb03b8b727
another pylint fix
2019-12-23 12:06:26 +10:00
Damien Elmes
f8419cf957
fix pylint
2019-12-23 11:56:03 +10:00
Damien Elmes
a0ca95a414
fix some type errors/lints
2019-12-23 11:32:19 +10:00
Damien Elmes
17af26dcb5
apply black to all files
2019-12-23 10:34:10 +10:00
Damien Elmes
9ebc15c748
add black, update for new isort
...
people updating from a previous build, make sure you run
pip install --reinstall requirements.check
2019-12-23 10:31:47 +10:00
Damien Elmes
b51cf71d35
Merge pull request #383 from agentydragon/all-ref
...
Move repeated calls to _renderQA into local function
2019-12-23 09:36:39 +10:00
Damien Elmes
29179771b3
Merge pull request #382 from agentydragon/whitespace
...
Whitespace reformat to force 80-character line limit
2019-12-23 09:35:56 +10:00
Damien Elmes
008bb6f0c3
Merge pull request #381 from agentydragon/move-data-var
...
Merge 'data' variable into its only usage site
2019-12-23 09:35:34 +10:00
Damien Elmes
45fd039bbf
Merge pull request #375 from agentydragon/stuff2
...
Use named tuple to represent QA data
2019-12-23 09:35:09 +10:00
Michal Pokorný (Rai)
13afb0dbff
Move repeated calls to _renderQA into local function
2019-12-23 00:32:09 +01:00
Michal Pokorný (Rai)
1e9833ab2a
Whitespace reformat to force 80-character line limit
2019-12-23 00:30:59 +01:00
Michal Pokorný (Rai)
8ceccbd164
Merge 'data' variable into its only usage site
2019-12-23 00:29:23 +01:00
Michal Pokorný (Rai)
c72051ba0d
Move QA data tuple into separate type alias
2019-12-23 00:27:14 +01:00
Damien Elmes
30f5183b03
Merge pull request #378 from agentydragon/types-utils
...
Add some type declarations in utils.py
2019-12-23 09:24:20 +10:00
Damien Elmes
7d8969a711
Merge pull request #374 from agentydragon/mathjax-test
...
Fix bug in _removeFormattingFromMathjax
2019-12-23 07:43:16 +10:00
Michal Pokorný (Rai)
36bdb4ebe0
Add some type declarations in tags.py
2019-12-22 14:50:42 +01:00
Michal Pokorný (Rai)
202a31dc5a
Add some type declarations in utils.py
2019-12-22 14:47:07 +01:00
Michal Pokorný (Rai)
5ff0547110
Don't repeat Python regex docs
2019-12-22 12:43:15 +01:00
Damien Elmes
af4d4af55d
fix race condition in tmp folder handling
2019-12-22 19:03:20 +10:00
Michal Pokorný (Rai)
2d2f21bfe3
Fix bug in _removeFormattingFromMathjax
2019-12-22 05:47:45 +01:00
Michal Pokorný (Rai)
331781cf45
Document newly found bug in _removeFormattingFromMathjax
...
Also adds some comments I wrote to help me understand what's going
on in the code.
I hope to fix this bug myself, but I think it might be beyond what
you can do with Python regexes and might require writing a proper
parser.
So, as step 1, I'm adding in a couple comments explaining that the
bug exists and how to reproduce it.
2019-12-22 05:22:18 +01:00
Damien Elmes
7399e0bd2b
Model->NoteType
2019-12-22 08:58:56 +10:00
Damien Elmes
079a00653e
Merge pull request #369 from agentydragon/typecheck-models
...
Add types for models, templates and field dicts
2019-12-22 08:19:40 +10:00
Michal Pokorný (Rai)
67a39c58cb
Add types for models, templates and field dicts
2019-12-21 12:02:16 +01:00
Damien Elmes
bfcc837939
avoid noreturn for now, as it's not supported on python <3.6.5
2019-12-21 16:54:40 +10:00
Damien Elmes
f0f9278414
Merge pull request #363 from ig3/bug/new-perday
...
Use _deckNewLimitSingle in _groupChildrenMain
2019-12-21 07:41:18 +10:00
Damien Elmes
ed0b3d3374
add an example of how circular imports can be handled
...
The type name needs to be quoted so it is evaluated after the module
has been initialized.
In the future when we drop support for python 3.6, and mypy is updated,
we will be able to remove the quotes and use the following at
the top of the file instead:
from __future__ import annotations
2019-12-21 07:29:45 +10:00