Commit graph

911 commits

Author SHA1 Message Date
Michal Pokorný (Rai)
18cce4dbb6 Add named constant for relearning cards 2019-12-27 23:05:25 +01:00
Damien Elmes
6851eb5a3c Merge pull request #401 from agentydragon/sched-types
Use self._deckLimit helper in more places in scheduler v2
2019-12-28 07:12:58 +10:00
Damien Elmes
c0500ceaa4 Merge pull request #400 from agentydragon/typing-sv2
Some type declarations for scheduler v2
2019-12-28 07:12:02 +10:00
Damien Elmes
e534d957c5 Merge pull request #399 from agentydragon/extra-ws
Remove extra whitespace at end of line
2019-12-28 07:11:40 +10:00
Damien Elmes
c14f5a1142 Merge pull request #397 from agentydragon/remove-coding
Remove unneeded utf-8 encoding declaration
2019-12-28 07:11:21 +10:00
Damien Elmes
d9444190c0 Merge pull request #396 from agentydragon/remove-reimport2
Remove unnecessary anki.* qualification of already imported Note, Card
2019-12-28 07:11:14 +10:00
Damien Elmes
6c720f241f Merge pull request #395 from agentydragon/remove-reimport
Remove unneeded re-import of anki.db
2019-12-28 07:11:03 +10:00
Damien Elmes
090aa7e619 Merge pull request #394 from agentydragon/doc-for-fix-integrity
Add return value comment for fixIntegrity method of Collection
2019-12-28 07:10:50 +10:00
Michal Pokorný (Rai)
bc97db7133 Typing for scheduler v2 2019-12-27 19:36:57 +01:00
Michal Pokorný (Rai)
e1e345068b Remove extra whitespace at end of line 2019-12-27 19:26:48 +01:00
Michal Pokorný (Rai)
4edc0ff2f8 Use self._deckLimit helper 2019-12-27 19:25:22 +01:00
Michal Pokorný (Rai)
0e37dd0c2b Remove unnecessary anki.* qualification of already imported Note, Card 2019-12-27 19:22:44 +01:00
Michal Pokorný (Rai)
8655a65567 Remove unneeded utf-8 encoding declaration
UTF-8 is the default as of Python 3.
See: https://docs.python.org/3/reference/lexical_analysis.html#encoding-declarations
2019-12-27 18:06:06 +01:00
Michal Pokorný (Rai)
194bfecc0f Remove unneeded re-import of anki.db 2019-12-27 17:22:53 +01:00
Michal Pokorný (Rai)
41f9752428 Fix import order 2019-12-27 17:21:42 +01:00
Michal Pokorný (Rai)
3c8cc9ca82 Add return value comment for fixIntegrity method of Collection 2019-12-27 17:20:22 +01:00
Michal Pokorný (Rai)
b21b0eba4a Type annotations in notes.py 2019-12-27 17:14:46 +01:00
Michal Pokorný (Rai)
476d4af2aa Add type annotation for model 2019-12-27 17:14:46 +01:00
Damien Elmes
7a4ec4d6fd 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
ff86452641 send tz offset at start of sync; allow passing in offset at collection creation 2019-12-27 21:53:20 +10:00
Damien Elmes
7fceffa890 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)
70db8c211e Rename constants 2019-12-26 00:38:54 +01:00
Rai
2568a8aaf2 Merge branch 'master' into ref 2019-12-25 23:10:28 +01:00
Damien Elmes
2c14aab073 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
95aa961eba Merge pull request #388 from agentydragon/use-setdefault
Use dict.setdefault
2019-12-26 07:43:01 +10:00
Michal Pokorný (Rai)
19b833fb8d Use dict.setdefault 2019-12-25 15:34:30 +01:00
Michal Pokorný (Rai)
764ff00dd1 Use @classmethod on methods that do not depends on instance state 2019-12-25 15:12:48 +01:00
Michal Pokorný (Rai)
1f5c039ac9 Use named groups instead of numbered groups to refer to clozeReg 2019-12-25 15:06:00 +01:00
Damien Elmes
0dce7b0a95 add a few type hints 2019-12-25 09:19:57 +10:00
Damien Elmes
8ef1fa7ed1 bridge->backend 2019-12-25 08:59:33 +10:00
Damien Elmes
9923938925 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
7a91f2be64 generate type stubs for Protobuf; disable pylint on rsbridge 2019-12-24 19:57:54 +10:00
Damien Elmes
65db02ddde 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
4347f10bcc 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
e05b77b083 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
f85390437e format 2019-12-24 19:57:54 +10:00
Damien Elmes
349c5ba049 make it possible to implement functionality in Rust 2019-12-24 19:57:54 +10:00
Damien Elmes
74532ba0de add type hint to models 2019-12-24 14:06:31 +10:00
Damien Elmes
18419f9398 another pylint fix 2019-12-23 12:06:26 +10:00
Damien Elmes
0398cd4bd7 fix pylint 2019-12-23 11:56:03 +10:00
Damien Elmes
dfb3cd6444 fix some type errors/lints 2019-12-23 11:32:19 +10:00
Damien Elmes
9e245ae621 apply black to all files 2019-12-23 10:34:10 +10:00
Damien Elmes
79af342ee8 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
dd0bf6a544 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
c4b4f55a7a 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
1fe0d5ff09 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
9c7207e018 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)
090f11847e Move repeated calls to _renderQA into local function 2019-12-23 00:32:09 +01:00
Michal Pokorný (Rai)
1c2e6666c4 Whitespace reformat to force 80-character line limit 2019-12-23 00:30:59 +01:00
Michal Pokorný (Rai)
02f3e8db98 Merge 'data' variable into its only usage site 2019-12-23 00:29:23 +01:00