Anki/anki
dae 2aa7714f87 new media syncing protocol
- media syncing no longer locks the account, so it can be done
  in the background in the future, and multiple clients can safely
  sync media at the same time
- all operations are now idempotent, so they can be repeatedly safely
  in the event of a connection error
- whether it's a normal incremental sync, an initial sync,
  or the media database has been deleted, no files will be uploaded
  or downloaded if they already exist on the other side
- file removals are now chunked like additions & updates, preventing
  timeouts due to large requests
- if the server can't process a chunk in time, it will return a count
  of what it did process, so the client can retry the rest

Notes for AnkiDroid:

- when porting this, recommend you pick a different name for the
.media.db2 file, so users don't accidentally copy the AD version to
the desktop or vice versa
- please make sure filenames are added to the zip in NFC form
2014-06-26 09:00:38 +09:00
..
importing don't insert <br> into text of cards on import 2014-06-21 11:02:34 -05:00
template don't fail if \n in cloze 2014-04-21 14:50:18 +09:00
__init__.py bump version 2014-04-23 08:16:45 +09:00
anki optimize imports 2012-12-22 09:17:10 +09:00
ankiweb.certs bump version again, as new cert was missing an intermediate 2014-04-12 15:54:25 +09:00
cards.py make sure we reset odue when rescheduling as new 2013-11-17 16:03:58 +09:00
collection.py Add odid fix to db check (#1035) 2014-05-26 15:11:47 +10:00
consts.py new media syncing protocol 2014-06-26 09:00:38 +09:00
db.py catch invalid temp folder and other tweaks 2013-10-22 15:30:53 +09:00
decks.py prevent nesting things under filtered decks 2014-06-18 16:26:49 -05:00
errors.py merged libanki and ankiqt into single distro 2012-12-21 16:51:59 +09:00
exporting.py new media syncing protocol 2014-06-26 09:00:38 +09:00
find.py support cid:<card id> search 2013-10-23 18:57:22 +09:00
hooks.py merged libanki and ankiqt into single distro 2012-12-21 16:51:59 +09:00
js.py merged libanki and ankiqt into single distro 2012-12-21 16:51:59 +09:00
lang.py about about and available languages 2013-08-22 15:54:33 +09:00
latex.py fix latex generation caused by bug in patch 2014-06-03 17:35:19 +09:00
media.py new media syncing protocol 2014-06-26 09:00:38 +09:00
models.py fix multiple cloze tags contained on one line 2014-04-16 01:15:59 +09:00
notes.py tweak logging 2013-10-30 22:42:32 +09:00
sched.py fix empty search in filtered deck 2014-06-03 17:54:15 +09:00
sound.py use default sample rate instead of forcing 44100 2014-04-18 04:17:05 +09:00
stats.py change "suspended" label to "suspended+buried" 2014-06-20 19:23:53 -05:00
statsbg.py merged libanki and ankiqt into single distro 2012-12-21 16:51:59 +09:00
stdmodels.py fix 'add reverse' template for non-english languages 2014-01-22 02:57:44 +09:00
storage.py don't open log for export or upgrade, only regular+sync 2013-11-13 16:48:22 +09:00
sync.py new media syncing protocol 2014-06-26 09:00:38 +09:00
tags.py canonify tags when saving, and strip quotes (#794) 2013-05-17 13:51:49 +09:00
upgrade.py fix upgrading of latex references 2013-05-22 09:46:09 +09:00
utils.py add TimedLog for debugging 2014-06-03 17:26:06 +09:00