Damien Elmes
96bb318c8e
add a bunch of extra hints for mypy
2019-12-20 16:40:20 +10:00
Damien Elmes
de89c72511
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
85e1a1c772
importing
2019-12-20 11:41:24 +10:00
Damien Elmes
9983774a12
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
0e1118aab4
avoid recalculating reqs in actions like adding cards
2019-12-16 20:27:58 +10:00
Damien Elmes
3304e74f10
Sniffer technically expects a string, not a list
2019-12-16 17:53:20 +10:00
Damien Elmes
2610099885
ignore missing props in the supermemo importer
2019-12-16 17:50:43 +10:00
Damien Elmes
14b7828135
set instance vars in __init__()
2019-12-16 17:49:32 +10:00
Damien Elmes
e15bed745f
be explicit in our not-None assumptions to appease type checker
2019-12-16 17:47:07 +10:00
Damien Elmes
41940c8575
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
39f6c9fa2b
allow importing scheduling-inclusive v1 imports into v2
2019-12-06 19:03:57 +10:00
Blauelf
7e8604fde2
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
75a95ee1fb
tidy up unused imports
2019-03-04 17:25:19 +10:00
Damien Elmes
300231e318
use raw strings for regexs
2019-03-04 17:03:43 +10:00
Damien Elmes
71f2b0627d
fix inconsistent indentation
2019-03-04 16:54:22 +10:00
Damien Elmes
7d0f7ae33c
fix some warnings
2019-03-04 16:01:10 +10:00
Damien Elmes
8981da61c1
silence some spurious errors and remove some unused code
2019-03-04 11:22:40 +10:00
Damien Elmes
a7eb6bb357
update copyright and clarify licenses
2019-02-05 14:01:33 +10:00
Damien Elmes
28c8d6eefa
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
8832bfb7ee
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
34eb85cc77
make sure we don't import cards into a filtered deck
2018-06-08 14:51:55 +10:00
Damien Elmes
69cb9a9d37
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
5bcb76e176
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
58f51ca095
make sure we don't import v1 scheduling into a v2 collection
2018-01-31 15:33:58 +10:00
Damien Elmes
c474f58748
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
430d38223c
Fix string decode error when importing csv files
2017-12-31 14:01:47 -06:00
Damien Elmes
ebfc475efe
fix 'unclosed file' warnings with python -Wall
2017-12-11 16:38:15 +10:00
Damien Elmes
ccb39c5f50
cgi.escape is deprecated
2017-12-11 16:20:00 +10:00
Damien Elmes
e3a29ac3d1
accept current and future mnemosyne imports
2017-11-27 10:49:38 +10:00
Damien Elmes
1631160ddc
favour most recent modified when importing template changes
2017-11-11 12:11:45 +10:00
Damien Elmes
5af1d67cef
fix normalization in normal import
2017-09-30 19:29:33 +10:00
Damien Elmes
a3c2efee89
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
4ee2ebdada
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
02fc117096
Remove trailing semicolon
2017-09-10 14:41:38 +02:00
Damien Elmes
9658fbb91e
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
Damien Elmes
47c3bb0796
make sure we set usn when pulling in dconf from apkg
2014-10-08 12:54:30 +09:00
Damien Elmes
5bb09ed77a
don't add <br> tags when importing html
...
fixes #1098
2014-09-15 15:24:50 +09:00