Commit Graph
192 Commits
Author SHA1 Message Date
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 bdcbb9eced Note which commit motivated creation of test_login() 2017-11-01 04:35:02 +01:00
flan 6617398921 Don't hardcode location of sqldiff 2017-11-01 04:09:13 +01:00
flan ce3aa4a685 Make DB utils more general 2017-11-01 04:09:09 +01:00
flan 55bdbfacaa Remove unused lines 2017-10-30 19:56:17 +01:00
flan 39f3ee110d Make test file names follow a single convention
Makes it possible to run all tests by executing
`python -m unittest discover ./tests`.
2017-10-30 19:28:56 +01:00
flan 765cce3d74 Move hostKey handling to a separate function 2017-10-30 19:23:32 +01:00
flan ce6433b9ba Add functional tests for authentication 2017-10-30 19:19:04 +01:00
flan 3792c89ecb Fix authentication
c7d7ff3e85 broke it
2017-10-29 19:36:51 +01:00
flan 3f3e2f4df4 Fix inconsistent indentation of README code blocks 2017-10-29 04:29:44 +01:00
flan bf1bf4de72 Add some context from upstream README 2017-10-29 04:21:22 +01:00
flan 6154cfde62 Don't leave an empty directory in cwd after running tests 2017-10-28 23:40:42 +02:00
flan e464592a57 Add gitignore 2017-10-28 23:18:18 +02:00
Christoph Mackandflan c805468449 Refactor ankiserverctl.py to delegate database operations to SqliteUserManager and use python3 compatible print calls. 2017-10-28 23:13:46 +02:00
Christoph Mackandflan 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 Mackandflan 573aeece81 Add more test helpers and integration tests for SyncApp's media sync feature using WebTest's TestApp.
Add test helpers for creating, inspecting and manipulating instances of SyncApp and RestApp.
Add subclasses of Anki's RemoteServer and RemoteMediaServer for communicating with the wrapped SyncApp instance under test.
Add helpers for monkey patching Anki's MediaManager and DB for easier testing.
Add test assets directory.
2017-10-28 22:36:48 +02:00
Christoph Mackandflan 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
Christoph Mackandflan 28e950c138 Added unit tests for SimpleUserManager, SqliteUserManagerTest, SimpleSessionManager and SqliteSessionManagerTest. 2017-10-28 21:20:47 +02:00
Christoph Mackandflan 6e881bfb85 Added unit test for SyncCollectionHandler. Moved CollectionTestBase to a separate file. 2017-10-28 21:19:50 +02:00
flan 99adc658d5 Remove support for legacy modules 2017-10-28 20:43:24 +02:00
flan 86b63d51b5 Remove superfluous/outdated instructions 2017-10-28 20:40:32 +02:00
Christoph Mackandflan 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 Mackandflan 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 b0cb424770 Use os.path.join() for path concatenation 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 4a9ee4d40c Rewrite command handling 2017-10-28 17:54:58 +02:00
flan 91b5a6e052 Remove redundant messages 2017-10-28 17:50:43 +02:00
flan 098c9dff4a Use user-prefixed data directory by default 2017-10-28 17:35:38 +02:00
flan 16d8bd9b78 Drop service management from ankisyncctl 2017-10-28 17:04:24 +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
jdoe0 e093e3981e Update README.md 2016-04-05 23:30:30 +07:00
Christoph Mackandjdoe0 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 Mackandjdoe0 87ee726d25 Define skey once when creating user session, not each time when beginning media sync. 2016-04-05 23:24:00 +07:00
Christoph Mackandjdoe0 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 Mackandjdoe0 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 d3eab4266e Update addon code in README.md 2015-11-27 12:27:07 +07:00
jdoe0 dfe62472a1 Update config file
Add base_media_url.
2015-11-27 12:25:52 +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
jdoe0 40d515234e Update README.md 2014-07-22 20:29:02 +07:00
jdoe0 07ed4dfb75 ankisyncd.sh: Disable python version check 2014-01-18 01:40:43 +07:00
jdoe0 8c3a53c3f4 ankisyncd.sh: Look for 'python2' before checking the version of 'python' 2014-01-10 19:39:57 +07:00
David Snopekandjdoe0 0311e25574 Collection.media.illegal() was renamed to Collection.media.hasIllegal() in Anki 2.0.12. 2014-01-04 21:09:56 +07:00
David Snopekandjdoe0 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