Damien Elmes
17af26dcb5
apply black to all files
2019-12-23 10:34:10 +10:00
Damien Elmes
c1587254f4
use isort to tidy up imports
2019-12-20 19:19:29 +10:00
Damien Elmes
12093f2f2e
add a bunch of extra hints for mypy
2019-12-20 16:40:20 +10:00
Damien Elmes
d8d7e78b6b
remove typings from some other files
...
not used frequently enough to deal with the mypy errors they're causing
at the moment
2019-12-20 16:33:49 +10:00
Damien Elmes
55795822b5
importing
2019-12-20 11:41:24 +10:00
Damien Elmes
6ecfff56c5
add pytype inferred types to anki/
...
I've corrected some obvious issues, and we can fix others over time.
Mypy tests are currently broken, as adding the type hints has increased
mypy's testing surface.
2019-12-20 11:07:08 +10:00
Damien Elmes
d7cb7eaea0
avoid recalculating reqs in actions like adding cards
2019-12-16 20:27:58 +10:00
Damien Elmes
b06b2f26f0
Sniffer technically expects a string, not a list
2019-12-16 17:53:20 +10:00
Damien Elmes
c9820fae99
ignore missing props in the supermemo importer
2019-12-16 17:50:43 +10:00
Damien Elmes
b4b8717a20
set instance vars in __init__()
2019-12-16 17:49:32 +10:00
Damien Elmes
1da52f89fe
be explicit in our not-None assumptions to appease type checker
2019-12-16 17:47:07 +10:00
Damien Elmes
6757b30e72
pytype is confused by import from parent module
...
this change prevents the cache from constantly being rebuilt
2019-12-16 17:41:47 +10:00
Damien Elmes
9d6523e4dc
allow importing scheduling-inclusive v1 imports into v2
2019-12-06 19:03:57 +10:00
Blauelf
672e19df85
Prevent non-integer ivl when importing from Mnemosyne
...
A reddit user had a few issues when importing from Mnemosyne, one of which was non-integer values interpreted as "v2 scheduler bug". I assume that's the line where they originated.
https://www.reddit.com/r/Anki/comments/cxcv27/what_just_happened_cards_with_v2_scheduler_bug/
2019-08-30 14:56:44 +02:00
Damien Elmes
ebdd8dae4b
tidy up unused imports
2019-03-04 17:25:19 +10:00
Damien Elmes
6e077ab414
use raw strings for regexs
2019-03-04 17:03:43 +10:00
Damien Elmes
4037a034aa
fix inconsistent indentation
2019-03-04 16:54:22 +10:00
Damien Elmes
f6b2135129
fix some warnings
2019-03-04 16:01:10 +10:00
Damien Elmes
3721cc4604
silence some spurious errors and remove some unused code
2019-03-04 11:22:40 +10:00
Damien Elmes
372d5ed6e8
update copyright and clarify licenses
2019-02-05 14:01:33 +10:00
Damien Elmes
beaca57129
be more verbose in importing dialog
...
Many users seem to get confused when duplicates are not imported,
so we list out what's being skipped now to help the users to be able
to search for the content.
2018-11-14 16:58:47 +10:00
Mai Lavelle
128bfcd481
avoid reordering entire deck when importing notes
...
No need to reorder existing cards, which may have been manually
ordered by the user, when importing notes if we can give cards
a proper due number from the start. Retrieving any sibling's
due number for this is easy as all relevant cards will have
already been queried for when generating the new cards.
2018-07-06 00:49:47 -04:00
Damien Elmes
89fd5cf6e5
make sure we don't import cards into a filtered deck
2018-06-08 14:51:55 +10:00
Damien Elmes
ec090e02eb
fix incorrect scheduling when importing cards in relearning
...
private link:
https://anki.tenderapp.com/discussions/ankidesktop/28234
2018-05-31 13:27:59 +10:00
Damien Elmes
0fce9fba9d
don't convert quotes to entities on import
...
https://anki.tenderapp.com/discussions/ankidesktop/26926-bug-report-exporting-than-re-importing-messes-up-quotes
2018-03-01 13:38:06 +10:00
Damien Elmes
cdb9c07dc0
make sure we don't import v1 scheduling into a v2 collection
2018-01-31 15:33:58 +10:00
Damien Elmes
0cce540d83
enforce schema version; allow importing+exporting v2 scheduler
...
To avoid all sorts of problems, we need to ensure cards scheduled with
the V2 scheduler are not studied in older clients. Unfortunately we
can't just bump the file's schema version, as the existing clients will
freely import files created with newer versions. This patch changes
that, so things should be a bit easier in the future.
In the mean time, we need a way to prevent older clients from importing
files created with the V2 scheduler. To do this, we switch to using a
'collection.anki21' file in the archive, and include a dummy collection
.anki2 file.
The code has been tested with both deck and collection packages, but
exporting deck packages w/ scheduling info will remain disabled until
the V2 scheduler has had more testing.
2018-01-29 14:12:04 +10:00
Carl Hofmeister
baee6916e7
Fix string decode error when importing csv files
2017-12-31 14:01:47 -06:00
Damien Elmes
7ac601f0af
fix 'unclosed file' warnings with python -Wall
2017-12-11 16:38:15 +10:00
Damien Elmes
bc65baeff7
cgi.escape is deprecated
2017-12-11 16:20:00 +10:00
Damien Elmes
77bb67a555
accept current and future mnemosyne imports
2017-11-27 10:49:38 +10:00
Damien Elmes
645f6714d2
favour most recent modified when importing template changes
2017-11-11 12:11:45 +10:00
Damien Elmes
d0a9a87095
fix normalization in normal import
2017-09-30 19:29:33 +10:00
Damien Elmes
f786ad1594
Merge pull request #208 from sieben/none_comparison
...
Comparison with None shouldn't use equality
2017-09-11 15:01:01 +10:00
Rémy Léone
8f1ad57931
Comparison with None shouldn't use equality
...
That type of comparisons should always be done with 'is' or 'is not',
never the equality operators.
2017-09-10 15:30:22 +02:00
Rémy Léone
9e574a448b
Remove trailing semicolon
2017-09-10 14:41:38 +02:00
Damien Elmes
0c80b5454f
use separate .colpkg extension for collection exports
...
- allows translations of filename
- allows users to keep multiple collection exports in the same folder
- provides a clearer distinction between deck and collection packages
- the collection/backup .apkg special cases will continue to work in
future 2.1.x releases
2017-09-10 16:58:55 +10:00
Damien Elmes
08e0174f2e
remove dupeOnSchemaChange
...
no longer required now that anki 1.x importing dropped
2017-08-21 13:50:11 +10:00
Damien Elmes
375c071a26
catch attempts to write outside the media folder
...
big thanks to David Bailey for discovering this
2017-08-16 21:08:46 +10:00
Luke Williams
9e375f1c7b
Fix issue where null tag list crashes Mnemosyne import
2017-05-30 17:38:39 -04:00
Damien Elmes
6335dcb90e
canonicalize to NFC form on edit/import
2017-02-19 12:49:52 +10:00
Damien Elmes
506f999581
Merge branch 'master' of github.com:dae/anki
2017-02-08 17:28:30 +10:00
Damien Elmes
227ca090db
use a constant for the starting factor
2017-02-08 17:28:12 +10:00
Illia Volochii
13b7e01044
Stop inheriting from object
...
It is not needed in Python 3.
2017-02-07 00:21:33 +02:00
Damien Elmes
e6adc3c195
fixes for sqlite on python 3.6
...
we need to switch to autocommit mode before executing vacuums &
certain pragmas
also removed the pysqlite version workaround; we just use the
python-provided versions in all cases now as it is new enough
2017-01-13 17:00:03 +10:00
Damien Elmes
cc742df71a
support PSV out of the box and make extending delims easier
2016-07-11 11:36:53 +10:00
Damien Elmes
15b349e3a8
start port to python 3
...
unit tests pass and main screens of GUI load
2016-05-12 14:45:35 +10:00
Damien Elmes
1dce3eaaff
drop anki1 upgrade code
2016-05-12 14:20:59 +10:00
Damien Elmes
9b2a19ee85
when schema differs, make sure we don't import cards
...
_ignoredGuids should have been added to but wasn't
2016-04-17 20:38:39 +10:00
Damien Elmes
c38b267b2d
if we detect a schema change, we must make sure not to update cards
...
fixes https://anki.tenderapp.com/discussions/ankidesktop/13226-bug-endless-error-report-in-browser
2015-05-30 13:05:22 +10:00