flan
65bef264be
Use int instead of str for the response code
2017-11-05 22:17:37 +01:00
flan
978b1d7371
Make _check_zip_data() and _adopt_media_changes_from_zip() take a ZipFile
2017-11-04 18:42:21 +01:00
flan
0e5bbf4f9e
Use more with statements
2017-11-04 18:41:56 +01:00
flan
c9c02d3253
Resolve relative paths and symlinks before opening auth/session DB
2017-11-04 04:22:06 +01:00
flan
024e76423d
Explicitly convert str and bytes where needed
2017-11-04 04:11:48 +01:00
flan
3d6a2a639a
Remove explicit inherits from object
2017-11-04 02:53:52 +01:00
flan
32b82d5803
Fix up some changes made by 2to3
2017-11-04 02:53:49 +01:00
flan
0cc21101d7
2to3 everything
2017-11-04 02:06:42 +01:00
flan
c08fb74d91
Enable logging
2017-11-04 01:53:44 +01:00
flan
9451d4df95
Remove redundant Response wraps
2017-11-03 02:18:28 +01:00
flan
5ec0dd7418
Remove redundant json.dumps() calls
2017-11-03 01:49:18 +01:00
flan
2ca7c596e3
Run msync handlers the same way as sync ones
2017-11-03 01:46:38 +01:00
flan
d2bbb7150c
Remove unused vars
2017-11-03 01:40:39 +01:00
flan
8e13c92b6e
Use less from imports
2017-11-03 00:20:24 +01:00
flan
c1b88c24f9
Make JSON check less lame
2017-11-03 00:19:52 +01:00
flan
910e557776
Rename username2dirname() to userdir()
2017-11-03 00:17:22 +01:00
flan
33868f013d
Don't assume a non-SyncCollectionHandler operation is handled by SyncMediaHandler
2017-11-03 00:17:22 +01:00
flan
a52c213088
Make operation_download() and operation_hostKey() return response body
...
This is more consistent, as all other handlers do the same.
2017-11-03 00:17:16 +01:00
flan
6e84242cc5
Use logging.warn() instead of print() for the auth warning
2017-11-01 19:56:38 +01:00
flan
17331136ca
Use print functions everywhere
2017-11-01 19:48:35 +01:00
flan
cb18fcb04a
Move old_client() outside classes
2017-11-01 19:48:03 +01:00
flan
97382f3eb8
Fix check for AnkiDroid 2.3
2017-11-01 18:06:13 +01:00
flan
85c9b85c1f
Make _old_client() support alphas/betas
2017-11-01 17:43:47 +01:00
flan
2dc1f28b04
Move version checks to a separate function, add test
2017-11-01 16:49:07 +01:00
flan
8195e58e3b
Make parts of SyncUserSession more readable
2017-11-01 15:36:37 +01:00
flan
55bdbfacaa
Remove unused lines
2017-10-30 19:56:17 +01:00
flan
765cce3d74
Move hostKey handling to a separate function
2017-10-30 19:23:32 +01:00
flan
3792c89ecb
Fix authentication
...
c7d7ff3e85 broke it
2017-10-29 19:36:51 +01:00
Christoph Mack
c7d7ff3e85
Merge SyncApp's SqliteUserManager and the newly introduced UserManager and group all user managers in user_managers.py.
2017-10-28 22:45:27 +02:00
Christoph Mack
cb574aa0a7
Add test helper classes for creating and managing temporary files, working with anki collections and sqlite dbs. Add class for
...
managing users so users can be added programmatically without using ankiserverctl.
2017-10-28 21:55:19 +02:00
flan
99adc658d5
Remove support for legacy modules
2017-10-28 20:43:24 +02:00
Christoph Mack
2cb5871ba3
Safer handling of uploaded database files during full sync.
...
Before overwriting its version of a user's collection database file with one uploaded by the client, the server now performs a basic integrity check using SQLite's 'pragma integrity_check'.
2017-10-28 20:02:59 +02:00
Christoph Mack
f3788fc2c8
fix syntax error causing failure in error handler in SyncMediaHandler._remove_media_files()
2017-10-28 19:58:34 +02:00
flan
67830218eb
Drop support for Anki <2.0.27
2017-10-28 19:55:50 +02:00
flan
ceb931519d
Bring back authentication
2017-10-28 19:55:40 +02:00
flan
48cfa9a029
Remove unused lines
2017-10-28 18:25:23 +02:00
flan
bd2c5bdff9
Remove SSL support
...
If there's a need for SSL, you can always use a reverse proxy or
a more advanced WSGI server.
This reverts commit 1678890d3d .
2017-10-28 05:50:18 +02:00
jdoe0
c398ccdb89
Apply @ndl's patches
...
The patches fix the issue where syncing across different profiles will
always trigger a full sync if there's any change in either of the
profiles.
2016-11-03 22:32:19 +07:00
jdoe0
1678890d3d
Add SSL support
2016-06-25 23:59:59 +07:00
Christoph Mack
e32bceccf3
Not only add, but also remove files when adopting changes to client media files in SyncMediaHandler.uploadChanges().
...
Count added and removed files as processed and increment media usn accodingly.
Refactor SyncMediaHandler.uploadChanges().
2016-04-05 23:24:12 +07:00
Christoph Mack
87ee726d25
Define skey once when creating user session, not each time when beginning media sync.
2016-04-05 23:24:00 +07:00
Christoph Mack
1b1a3d8e22
Define a random skey to return to the client when media syncing begins, so we don't send a null skey value.
2016-04-05 23:21:05 +07:00
Christoph Mack
f03aea67c1
SyncMediaHandler.begin(): return media database usn instead of collection database usn.
...
If the wrong usn is returned, media syncing on the client will not finish with status "noChanges" even if there have been no changes since the last media sync.
2016-01-24 01:54:35 +07:00
jdoe0
3baad9cfac
Fix syncing with AnkiDroid
2015-11-29 11:53:58 +07:00
jdoe0
ab40509cb2
Add missing function _execute_handler_method_in_thread()
2015-11-27 12:17:49 +07:00
jdoe0
8066fba1fe
Update for Anki >= 2.0.27
...
This breaks compatibility with Anki < 2.0.27
2015-11-27 12:17:49 +07:00
David Snopek
0311e25574
Collection.media.illegal() was renamed to Collection.media.hasIllegal() in Anki 2.0.12.
2014-01-04 21:09:56 +07:00
David Snopek
f210f728ea
Updated the bundled Anki 2.0.20 and made some fixes for that version. Fixes #9 .
...
Conflicts:
AnkiServer/importer.py
anki-bundled
tests/test_importer.py
2014-01-04 21:09:23 +07:00
jdoe0
525652dad0
Renamed config file to ankisyncd.conf
2014-01-04 20:06:14 +07:00
jdoe0
42f91cce80
thread.py: Remove unused imports
2014-01-04 19:31:29 +07:00