Commit graph

71 commits

Author SHA1 Message Date
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
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
Soren I. Bjornstad
c3434ff751 update note type on apkg import when only templates have changed
Previously, it only updated if card/note count was different, even if
the templates / styling information had been updated.
2014-06-28 13:51:30 -05:00
Soren I. Bjornstad
a570779a26 update all duplicates when importing
If duplicate notes are already in the collection and, based on the first
field of all of them, they should be updated, update all of them instead
of just the first one we come across.
2014-06-24 15:55:19 -05:00
Soren I. Bjornstad
ba084cb46a don't insert <br> into text of cards on import
When "allow HTML" was turned off, Anki was replacing newlines with <br>s
in the text of the new notes before it escaped HTML characters, so the
line breaks were becoming &lt;br&gt;.
2014-06-21 11:02:34 -05:00
Soren I. Bjornstad
28bb109ded only display "added duplicate" message once
Even if there are several (duplicate) notes in the collection that
match, only send the message once to avoid making it look like multiple
dupes have been added.
2014-06-19 17:19:56 -05:00
Soren I. Bjornstad
8620b81817 add unchanged count to import log 2014-06-17 09:38:26 -05:00
dae
1b646c1c8d mnemosyne changed version string in .db 2014-06-08 14:37:15 +09:00
Jussi Maatta
656698da83 Add A-factor to E-factor conversion to SuperMemo import.
The SuperMemo XML importer assumed that the A-factors used by
SuperMemo map 1-1 with E-factors (which correspond to Ease in
Anki). This resulted in too large E-factors for imported items.

This change adds an A-factor to E-factor conversion to the
importer.
2014-01-26 10:09:47 +02:00
Jussi Maatta
cdcd5eb651 Fix double newlines in items imported from SuperMemo.
When importing SuperMemo XML files, indicate to the BeautifulSoup
XML parser that the <br> tag is self-closing. This prevents it
from adding a matching </br> for every <br> tag. These extraneous
tags resulted in extra newlines in items imported from SuperMemo.

While we're at it, fix the same bug for a couple of other
self-closing HTML tags.
2014-01-26 10:06:53 +02:00
Jussi Maatta
6c6be1144b Remove unused function from SuperMemo XML importer. 2014-01-26 10:01:06 +02:00
Damien Elmes
0d1d8c5bf9 define standard encoding for unicode (#893)
- always store media references in fields in NFC form
- always encode filenames on disk in NFC form on machines other than macs
- use relevant encoding when placing files in the media folder during syncs
  and apkg imports as well
- rename 'unused media' back to 'check media'
- check media can now automatically change media references and filename
  encodings to the correct format
2013-09-20 19:28:44 +09:00
Damien Elmes
bd8707f54c support import of renamed .apkg files 2013-09-11 15:56:59 +09:00
Damien Elmes
511bde0396 change misleading note import msg 2013-09-11 15:30:31 +09:00
Damien Elmes
0c2a1fe19e report more info when note type changes prevent an import 2013-09-04 02:19:15 +09:00
Damien Elmes
914f56dbc0 allow updates to existing notes in .apkg import 2013-08-08 13:01:47 +09:00
Damien Elmes
0fa9b75af5 fix importing with schema change logic
the previous fix for #612 was broken, and led to notes with altered schemas
being imported with the incorrect schema
2013-07-11 18:47:49 +09:00
Damien Elmes
2d4b79b490 keep scanning csv until we find non-zero field count (#920) 2013-07-03 04:23:33 +09:00
Damien Elmes
8e8de1e333 mnemosyne importer tweaks
- convert newlines to br
- non-greedy match mnemosyne clozes
2013-06-05 18:39:32 +09:00