{"action":"created","issue":{"url":"https://api.github.com/repos/learningequality/ka-lite/issues/3519","labels_url":"https://api.github.com/repos/learningequality/ka-lite/issues/3519/labels{/name}","comments_url":"https://api.github.com/repos/learningequality/ka-lite/issues/3519/comments","events_url":"https://api.github.com/repos/learningequality/ka-lite/issues/3519/events","html_url":"https://github.com/learningequality/ka-lite/pull/3519","id":68384905,"number":3519,"title":"A new setup.py installer using setuptools - Fix for #3396","user":{"login":"benjaoming","id":374612,"avatar_url":"https://avatars.githubusercontent.com/u/374612?v=3","gravatar_id":"","url":"https://api.github.com/users/benjaoming","html_url":"https://github.com/benjaoming","followers_url":"https://api.github.com/users/benjaoming/followers","following_url":"https://api.github.com/users/benjaoming/following{/other_user}","gists_url":"https://api.github.com/users/benjaoming/gists{/gist_id}","starred_url":"https://api.github.com/users/benjaoming/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjaoming/subscriptions","organizations_url":"https://api.github.com/users/benjaoming/orgs","repos_url":"https://api.github.com/users/benjaoming/repos","events_url":"https://api.github.com/users/benjaoming/events{/privacy}","received_events_url":"https://api.github.com/users/benjaoming/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/learningequality/ka-lite/labels/has%20PR","name":"has PR","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-04-14T13:58:30Z","updated_at":"2015-04-15T08:07:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/learningequality/ka-lite/pulls/3519","html_url":"https://github.com/learningequality/ka-lite/pull/3519","diff_url":"https://github.com/learningequality/ka-lite/pull/3519.diff","patch_url":"https://github.com/learningequality/ka-lite/pull/3519.patch"},"body":"Running KA Lite can now happen in 2 different ways... for a discussion of the approach, see #3396\r\n\r\n\r\n# 1. Directly from source folder\r\n\r\nNavigating to a source folder and running `bin/kalite` will invoke KA Lite and its data files directly from the source tree. Furthermore, all media and database files are maintained in the source tree.\r\n\r\nIn other words: **exactly like before** !!\r\n\r\n# 2. As an installed python package\r\n\r\nAn example with virtualenvwrapper:\r\n\r\n```\r\nmkvirtualenv --system-site-packages my_kalite_env\r\nworkon my_kalite_env\r\ncd /path/to/my/kalite/git/repo\r\n```\r\n\r\nNow you can install KA Lite in 3 different ways as a developer:\r\n\r\n## 2.1. Dynamically link the source code to your site-packages:\r\n\r\n    pip install -e .\r\n\r\n## 2.2. Install directly as a source package\r\n\r\n    python setup.py install\r\n\r\n## 2.3. Simulate the full packaging+installation process\r\n\r\nThis method is really good for testing that data files are correctly listed in MANIFEST.in and setup.py and thus packaged and distributed...\r\n\r\n    python setup.py sdist\r\n    pip install dist/kalite-X.X.X.tar.gz\r\n\r\n# Commit contents\r\n\r\nThis is only possible by re-arranging some data files and refactoring the way that settings were loaded directly from filesystem paths.\r\n\r\nSquashed commit of the following:\r\n\r\ncommit 6ee7eca9e539cd33d552f4502ad95d36f5c8fea2\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 13 22:13:55 2015 +0200\r\n\r\n    assessment items: print out downloaded size before starting\r\n\r\ncommit c1e47be779a1f3cec5737d9e9c33dd0322393604\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 13 20:07:03 2015 +0200\r\n\r\n    add *handlebars files\r\n\r\ncommit e274e2a6ecfaabefd6d0538339b50fcb42cb895e\r\nMerge: 7bee016 c15b07d\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 13 18:57:33 2015 +0200\r\n\r\n    Merge branch 'develop' into setuptools-installer\r\n\r\ncommit 7bee016ccc1537e7a4485a2705afed10803cc044\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Apr 8 01:07:01 2015 +0200\r\n\r\n    remove a bunch of PROJECT_PATH and replace with USER_DATA_ROOT\r\n\r\ncommit 7ff6d6ec86b160b8c63437368f0d993dffb7f2dd\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Apr 8 01:06:22 2015 +0200\r\n\r\n    list SOURCE_DIR only if it's a source installation\r\n\r\ncommit 8ec56cfbee7d92e5cda811d2ca2573dc35461daa\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Apr 8 01:03:47 2015 +0200\r\n\r\n    remove unused imports\r\n\r\ncommit 64027c8f2177e79d6d087279b6f95f79f8a2d044\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Apr 8 01:03:27 2015 +0200\r\n\r\n    use call_command instead of running external OS shell\r\n\r\ncommit ebb2be593b3d52659df1cb3979c66a1d8d5b9204\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 17:42:13 2015 +0200\r\n\r\n    do not lookup Requirement 'ka-lite' that does not work in source dirs\r\n\r\ncommit 3a6458bb6a707f7c5978cea7feeaf669462fe4ab\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 16:15:02 2015 +0200\r\n\r\n    remove django_extensions from imports and INSTALLED_APPS learningequality/ka-lite#3487\r\n\r\ncommit 1f6888c4c960fa33ab5145f6ff949120832379ff\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 16:12:48 2015 +0200\r\n\r\n    Do not clean up *pyc files in setup/update, breaks system-wide installations learningequality/ka-lite#3487\r\n\r\ncommit 1eda938a641001218881fe4a21cd200c31524b2b\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 16:12:17 2015 +0200\r\n\r\n    Speed up tests by not removing *pyc files in testing learningequality/ka-lite#3487\r\n\r\ncommit 6f11f1e40f5134572ac124e9ebdb9a1eb3fa87d3\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 15:46:45 2015 +0200\r\n\r\n    Add requirements.txt to setup.py\r\n\r\ncommit e0a91f5eac3d7838280efeacf56070a736d39cad\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 15:45:55 2015 +0200\r\n\r\n    Use MANIFEST.in in addition to setup.py's data_files, otherwise an sdist won't include the data files\r\n\r\ncommit bdcb544cf0a4dd6a5a90e1abcd5971d721af5fe2\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 15:45:31 2015 +0200\r\n\r\n    PROJECT_PATH defaults to user data dir\r\n\r\ncommit fba934726d7fdd0c57616a02aa791695fd5ba734\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Apr 7 15:45:00 2015 +0200\r\n\r\n    Do not use PROJECT_PATH, instead use Django's import of modules to resolve data paths\r\n\r\ncommit 89b6b14c73bbc28a193f86337c3de446e372ff7e\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 6 21:57:58 2015 +0200\r\n\r\n    Find static files according to data root, not the deprecated PROJECT_PATH\r\n\r\ncommit adadc2730c73b1a4dd86b1afa4cdee8e507b3e66\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 6 21:57:19 2015 +0200\r\n\r\n    Move exclude patterns to *after* the include patterns, add static-libraries to installed data\r\n\r\ncommit a49b0b83e958ba3313d21d37edd8366caa906137\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 6 21:33:21 2015 +0200\r\n\r\n    Improve the IS_SOURCE detection by not being tricked by the CWD\r\n\r\ncommit 5fd24a40868ea0b3156573762192c48c3a884175\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 6 21:32:24 2015 +0200\r\n\r\n    Remove print stms, fix locale/ path, and stop using eggs because Django 1.5 uses 'imp' package which doesn't support eggs\r\n\r\ncommit da22d431df6be44f2fff2a55a9082f1ee8f4cf93\r\nMerge: 66c0178 05089ed\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Apr 6 14:09:42 2015 +0200\r\n\r\n    Merge branch 'develop' into setuptools-installer\r\n\r\n    Conflicts:\r\n    \tkalite/__init__.py\r\n    \tkalite/i18n/__init__.py\r\n\r\ncommit 66c0178a0f89075c6c8775ceed0533ab16443987\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 19:13:20 2015 +0200\r\n\r\n    use correct kalite_dir kwarg\r\n\r\ncommit fba769476a58da66d4c7b6b703516ecbe718f326\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:54:18 2015 +0200\r\n\r\n    When calling kalite externally, should only conditionally use source dir bin\r\n\r\ncommit 208f5b13dce4ef0d9afc09ced0b1b76e57c710b5\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:53:38 2015 +0200\r\n\r\n    add SOURCE_DIR for a better understanding in order to deprecate PROJECT_PATH\r\n\r\ncommit fe96c49e6bd2560993b4cbd9d6d382908e41b1f3\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:52:53 2015 +0200\r\n\r\n    allow to specify branch from update command\r\n\r\ncommit 8e6fe5e3ae76a10046e209c2305b0a242064b9c1\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:36:45 2015 +0200\r\n\r\n    Also call setup management script in other update methods\r\n\r\ncommit d3698ad7fff50ebe93c969c4d15c712b3fc457c5\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:22:15 2015 +0200\r\n\r\n    add missing playlist file argument\r\n\r\ncommit 7d909b35baaf526f76d95a6f16cf097f0fe386ce\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:21:04 2015 +0200\r\n\r\n    Make default_source_path a real path and not a list\r\n\r\ncommit cd87dd4ef0315c67c63cce2e4683175b6dfc65a0\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:19:04 2015 +0200\r\n\r\n    move default_project_root\r\n\r\ncommit 9b989fff7260e7a93fae071e5ec3757cf21cb63a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:12:25 2015 +0200\r\n\r\n    comment about settings.LOGGERS\r\n\r\ncommit 22182990ed8ae4a7227f30587f62a474ca3000e8\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:10:27 2015 +0200\r\n\r\n    start using source dir layout *or* installation layouts for data files\r\n\r\ncommit 507af7dee74e6377520e2b1cbe3b456b793ba423\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:09:42 2015 +0200\r\n\r\n    add comment about hard-coded static serving\r\n\r\ncommit a4cece2bb3bd4dfe83873d0bdc56b9bfd5923aa1\r\nMerge: 5f7b148 837d8af\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:09:05 2015 +0200\r\n\r\n    Merge branch 'rm-old-manage-py' into setuptools-installer\r\n\r\ncommit 5f7b148965e1a8cb413259d463b6922bfe9a5b40\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:08:26 2015 +0200\r\n\r\n    Call setup command directly instead of going through ext. shell\r\n\r\ncommit a9de9034eb0cbccf82c0f02cc213bbd10b45d44c\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 18:08:07 2015 +0200\r\n\r\n    Use package resource for playlist data\r\n\r\ncommit eb8d29b32a74d54f4305cb3c1ab34e8321de6fc7\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 17:57:53 2015 +0200\r\n\r\n    do not assume wrong PATH env when updating\r\n\r\ncommit a8cc02ffc323ab6f49e47e38aa280d9c88167658\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 17:56:14 2015 +0200\r\n\r\n    add locales/ and data/ to system-wide distributed stuff\r\n\r\ncommit f36f6b693c6bff19eb0d5c2de1cc38d85146f0fa\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 17:55:10 2015 +0200\r\n\r\n    Add file that indicates the fact that it's a source dir and exclude local_settings from builds\r\n\r\ncommit aaa03e1dcfe83d938b93a67e1d0f1d5214bfc2e0\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 17:54:40 2015 +0200\r\n\r\n    Move playlist data files to explicit data directory\r\n\r\ncommit 16ff549eaca026be1d8df7bb2fde4cbf97ef301b\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 15:08:25 2015 +0200\r\n\r\n    Change version to 0.14dev\r\n\r\ncommit 477cd2e8240a568be9eeb0f3a13b554cc1cc7211\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 15:08:20 2015 +0200\r\n\r\n    add comments and remove unused import\r\n\r\ncommit 0c5f6adc074af1243f9b9ef564123817a92a9710\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 15:07:27 2015 +0200\r\n\r\n    Fix #3433 and only use caching of language choices when applicaple\r\n\r\ncommit 85994985184c93c61d9365dd425a2e84cd107630\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 14:35:07 2015 +0200\r\n\r\n    pep8 that file\r\n\r\ncommit f25753a66af8c7ac875522bd294797afd171c7fb\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 14:33:45 2015 +0200\r\n\r\n    add compressor to INSTALLED_APPS\r\n\r\ncommit 76760568eef35cb69ef3493f359130fdc813803c\r\nMerge: 33d1009 2d04185\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 30 13:52:54 2015 +0200\r\n\r\n    Merge branch 'develop' into setuptools-installer\r\n\r\n    Conflicts:\r\n    \t.travis.yml\r\n\r\ncommit 33d100933ef040841cbcfdaf9f1a0974c3852df2\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:42:38 2015 +0200\r\n\r\n    learningequality/ka-lite#3433 -- now try again w/o ref'ing dead var\r\n\r\ncommit 24e2373e64c50bbc439b88e59b9decaef6b11478\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:36:17 2015 +0200\r\n\r\n    Fix learningequality/kalite#3433 by storing language selections\r\n\r\ncommit a8027be0ada62530b6824c67a17e81d279fc00e9\r\nMerge: 3988bad 766f814\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:29:32 2015 +0200\r\n\r\n    Merge branch 'develop' into setuptools-installer\r\n\r\n    Conflicts:\r\n    \t.gitignore\r\n    \t.travis.yml\r\n    \tkalite/distributed/settings.py\r\n    \tkalite/settings/base.py\r\n\r\ncommit 766f814a08dc9f1bbfe2a8caafaa9a50cfa4cf90\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:05:09 2015 +0200\r\n\r\n    revert all utf-8 encoding after forcing encoding to Django's DEFAULT_ENCODING\r\n\r\ncommit c85b0fe27c3f4f23a7e76743fc4a03bc35127120\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:03:40 2015 +0200\r\n\r\n    add pointer to Wheel data directory issue\r\n\r\ncommit a937d77b757180239ff66312b56e7b315b4cd8d4\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:03:26 2015 +0200\r\n\r\n    do not overwrite builtin\r\n\r\ncommit 6f74b25059017de6243d7c7a6573d4933b355f12\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:02:44 2015 +0200\r\n\r\n    Add documentation about temporary settings pkg and solve setdefaultencoding issue\r\n\r\ncommit 570f7bd54eef5fbc2ed2501dcc604cd33b1783c6\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 11:53:38 2015 +0200\r\n\r\n    make the assessment data command more responsive\r\n\r\ncommit ce34c09ee642c1fd72a7e078215134d41a5afa29\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 11:04:11 2015 +0200\r\n\r\n    Use correct import path of local_settings\r\n\r\ncommit c9c615a81f762424695afa971693b5a6e9c6cd31\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 17:12:24 2015 +0100\r\n\r\n    use encode, not decode\r\n\r\ncommit 18221f03ad52a954bf288eac3f13591d34869076\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 16:20:21 2015 +0100\r\n\r\n    Revert \"Stop using json_ascii_decoder as it's not formatting strings correctly\"\r\n\r\n    Also, replace ugettext with gettext() in topic_tools\r\n\r\n    This reverts commit 51acbbdbeb36aaa066eaaa2ccd47b9137c27b0bd.\r\n\r\n    Conflicts:\r\n    \tpython-packages/fle_utils/general.py\r\n\r\ncommit 9c4b728dbbcdeddaf255a92ba9ccfed90e0bb548\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 15:22:05 2015 +0100\r\n\r\n    learningequality/ka-lite#3423 - burn down UnicodeModelsTest\r\n\r\ncommit 0e0e4f26dea203f4f3e05368f3bb25131da6e12f\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 14:27:53 2015 +0100\r\n\r\n    wrong import path for weird tests\r\n\r\ncommit dddb48f54301e96e2c1dc56ca5cc98d4acdcad8f\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 14:27:40 2015 +0100\r\n\r\n    securesync VERSION should not be a variable\r\n\r\ncommit 5af953a799713499c68a9ab43223976c9965932d\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 13:56:52 2015 +0100\r\n\r\n    add comment about not using the json_ascii_decoder anymore\r\n\r\ncommit f61d52a1c25cb43f710bb70ec2a2dae6f5edc3d5\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 13:51:41 2015 +0100\r\n\r\n    Stop using json_ascii_decoder as it's not formatting strings correctly\r\n\r\n    I can't tell from the comments why it's even necessary.\r\n\r\ncommit 122654bb50eb8e8f7a52d3d4089e936b0f05e02e\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 13:51:34 2015 +0100\r\n\r\n    shorten error logging for unicode errors\r\n\r\ncommit 0a1d1adae84ac5e5f3271ad991d9ceebb401b1b2\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:39:44 2015 +0100\r\n\r\n    now try again without the spelling err\r\n\r\ncommit 23acc938009d49e8549d5501f2c0ec36dcd73832\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:39:23 2015 +0100\r\n\r\n    Revert \"seriously, what was that?\"\r\n\r\n    This reverts commit b37b2c8d69882710ed5ce05895e9a7d80080a1c9.\r\n\r\ncommit 1e45faf3d631a6bc9ae0c252250cdd18fd20cad1\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:36:15 2015 +0100\r\n\r\n    seriously, what was that?\r\n\r\ncommit 697dbd339fed49ea3730cdb63236acbfa2438600\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:31:58 2015 +0100\r\n\r\n    also install JSON data files\r\n\r\ncommit 273cfd69ec2c7f43046073afd96c366901bf01a9\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:31:20 2015 +0100\r\n\r\n    Only use kalitectl from installed data dir when nothing else found\r\n\r\ncommit 2f21c91ddeb31dd05832b0320e2eb50badbfc765\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:31:15 2015 +0100\r\n\r\n    fix failures when data contains illegal characters\r\n\r\ncommit e2ca57a9f8247b32386788e41e30e5032df6ad1d\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 17:08:14 2015 +0100\r\n\r\n    Revert \"only try to load settings modules from kalite applications\"\r\n\r\n    This reverts commit f8d9dcb1317223521c43a8eac35d9585e0078b7c.\r\n\r\ncommit e0852ffa963fd2bc47eca144d4f5f27f0f91b49b\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 17:04:14 2015 +0100\r\n\r\n    only try to load settings modules from kalite applications\r\n\r\ncommit 9806137bde871db5039337a53fbbd4421c50268c\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 17:01:03 2015 +0100\r\n\r\n    Cleaning up settings a bit so they can be loaded\r\n\r\n     * Moving unloadable settings modules to kalite.legacy\r\n     * Changing fle_utils.settingshelper to use normal python\r\n       module loading instead of assuming some arbitrary file\r\n       path for all the apps.\r\n     * Only try to load a kalite.app.settings module\r\n\r\ncommit 3dababa66c5ba676ba577c5137583509d996277f\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Mar 25 13:00:15 2015 +0100\r\n\r\n    Don't access settings from __init__ this gives circularity\r\n\r\ncommit 76e30a4102508ddc5052528c5981779a4df0ac5f\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 22:36:22 2015 +0100\r\n\r\n    disable non-deterministic test and securesync version weirdness\r\n\r\ncommit 9088f7c377b80d6b4a591e5e62a887a86aaa3c5d\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 21:34:24 2015 +0100\r\n\r\n    use package data from MANIFEST.in\r\n\r\ncommit 64e700099fb426273e2cf7f1df92f74a0e835224\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 21:32:47 2015 +0100\r\n\r\n    pep8\r\n\r\ncommit b58ecb2a73e9c2e5b69b17b203389ef0d7a9d8a6\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 20:45:04 2015 +0100\r\n\r\n    add setup.py files + comments\r\n\r\ncommit 214c93756b4357be946dca6b5eee8db458126283\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:40:46 2015 +0100\r\n\r\n    An setup.py that almost works, except because kalite package is not quite designed to run from outside the ka-lite project dir.\r\n\r\ncommit 21cff2bb78aa176e0fc0e68e0aa88376593f4063\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:39:54 2015 +0100\r\n\r\n    Settings for creating Wheel (.whl) python packages\r\n\r\ncommit 26e6cb709293d7d5d908daefa58f7c919682d072\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:39:28 2015 +0100\r\n\r\n    Add var containing path to all the data files\r\n\r\ncommit f9d73320a6152cd06d5bb451fdf7fdf0baec174a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:37:45 2015 +0100\r\n\r\n    Look for data in sys.prefix+'/share/kalite', e.g. /usr/share/kalite\r\n\r\ncommit e569ce315bd1f31ca88d616afa24b4d8beb29998\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:37:23 2015 +0100\r\n\r\n    ignore setuptools sdist dir\r\n\r\ncommit bbf74bd39db4441de0bcd2c66b4dca817135c6a3\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:36:43 2015 +0100\r\n\r\n    prelimenary ocs for packagers\r\n\r\ncommit d3263c6d6d30e7b49f004f3dde186e582480b227\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 20 16:35:16 2015 +0100\r\n\r\n    attempt to use manage.py instead of bin/kalite to see if metrics show up\r\n\r\ncommit 90c0930a678c9bfa75032cba428c0b10228aa45a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 20 15:17:14 2015 +0100\r\n\r\n    add coveralls to after_success\r\n\r\ncommit 093497677702ef56f6c62bf3ac13ad3b6ec94c53\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 20 15:13:20 2015 +0100\r\n\r\n    force travis to run\r\n\r\ncommit a1ba4360a10b7a19636881a4d982e6029c36a47d\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 20 14:56:37 2015 +0100\r\n\r\n    Work on coverage: NB! Removing old test command so we don't run tests twice\r\n\r\ncommit 3988bad5440a48e77e15ad17b8bef337b4dd2644\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:05:09 2015 +0200\r\n\r\n    revert all utf-8 encoding after forcing encoding to Django's DEFAULT_ENCODING\r\n\r\ncommit 4e3b4e6586afd4591b3fd678e79f2810cdc5ba5c\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:03:40 2015 +0200\r\n\r\n    add pointer to Wheel data directory issue\r\n\r\ncommit b33d4ef90ab3389bf28fb5a25d1a8b8f735df3cb\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:03:26 2015 +0200\r\n\r\n    do not overwrite builtin\r\n\r\ncommit 611775f6060ecf9a52e78c4caaa9443d726fe14a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 14:02:44 2015 +0200\r\n\r\n    Add documentation about temporary settings pkg and solve setdefaultencoding issue\r\n\r\ncommit 982f745a1158917875fa795555d0cb97be53c5a9\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 11:53:38 2015 +0200\r\n\r\n    make the assessment data command more responsive\r\n\r\ncommit 7c77463749db8a4abf32348b695ebb243b801f0d\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Sun Mar 29 11:04:11 2015 +0200\r\n\r\n    Use correct import path of local_settings\r\n\r\ncommit d0b77bdf1a89e44832a3a0d8d7423951a60d148a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 17:12:24 2015 +0100\r\n\r\n    use encode, not decode\r\n\r\ncommit 4ff063d4275bb0d361add8772e391d13fbb4129e\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 16:20:21 2015 +0100\r\n\r\n    Revert \"Stop using json_ascii_decoder as it's not formatting strings correctly\"\r\n\r\n    Also, replace ugettext with gettext() in topic_tools\r\n\r\n    This reverts commit 51acbbdbeb36aaa066eaaa2ccd47b9137c27b0bd.\r\n\r\n    Conflicts:\r\n    \tpython-packages/fle_utils/general.py\r\n\r\ncommit 372283735041e40e7a02d2b65b2856fbe38fa5b1\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 15:22:05 2015 +0100\r\n\r\n    learningequality/ka-lite#3423 - burn down UnicodeModelsTest\r\n\r\ncommit fcd74c45829745dbf6971e932013420fb80c7624\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 14:27:53 2015 +0100\r\n\r\n    wrong import path for weird tests\r\n\r\ncommit 3789a03c526395f6922e12af7e977868d4e4370a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 14:27:40 2015 +0100\r\n\r\n    securesync VERSION should not be a variable\r\n\r\ncommit 5b61fdad50009e6a47abe71135a46c500341064f\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 13:56:52 2015 +0100\r\n\r\n    add comment about not using the json_ascii_decoder anymore\r\n\r\ncommit 51acbbdbeb36aaa066eaaa2ccd47b9137c27b0bd\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 13:51:41 2015 +0100\r\n\r\n    Stop using json_ascii_decoder as it's not formatting strings correctly\r\n\r\n    I can't tell from the comments why it's even necessary.\r\n\r\ncommit 4db25ed48793b8af2ca0bf8842df0aa469de21d6\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Fri Mar 27 13:51:34 2015 +0100\r\n\r\n    shorten error logging for unicode errors\r\n\r\ncommit 56f75ecd0526dd031a800c1d57e75071760031dc\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:39:44 2015 +0100\r\n\r\n    now try again without the spelling err\r\n\r\ncommit 32398011cecdbe30dcdd0e81eb02e462918f6d9e\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:39:23 2015 +0100\r\n\r\n    Revert \"seriously, what was that?\"\r\n\r\n    This reverts commit b37b2c8d69882710ed5ce05895e9a7d80080a1c9.\r\n\r\ncommit b37b2c8d69882710ed5ce05895e9a7d80080a1c9\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:36:15 2015 +0100\r\n\r\n    seriously, what was that?\r\n\r\ncommit af41def249c792c97cf28b8fb5951318f8f0cd71\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:31:58 2015 +0100\r\n\r\n    also install JSON data files\r\n\r\ncommit 0f0847976c42a2a058f3a98f28ede8f0fad9cba9\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:31:20 2015 +0100\r\n\r\n    Only use kalitectl from installed data dir when nothing else found\r\n\r\ncommit bf94dac5d906d613fa923d96ad279a92535edd19\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 19:31:15 2015 +0100\r\n\r\n    fix failures when data contains illegal characters\r\n\r\ncommit 026955b3e134ca26a9d469eb0eefd3433b57788a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 17:08:14 2015 +0100\r\n\r\n    Revert \"only try to load settings modules from kalite applications\"\r\n\r\n    This reverts commit f8d9dcb1317223521c43a8eac35d9585e0078b7c.\r\n\r\ncommit 64ed9b3313a274e107a23b7866079f7ab99e06ac\r\nMerge: f8d9dcb 88ddf63\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 17:05:08 2015 +0100\r\n\r\n    Merge branch 'coverage' into setuptools-installer\r\n\r\n    Conflicts:\r\n    \t.gitignore\r\n\r\ncommit f8d9dcb1317223521c43a8eac35d9585e0078b7c\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 17:04:14 2015 +0100\r\n\r\n    only try to load settings modules from kalite applications\r\n\r\ncommit a732ff470cc38306fb59299d1a4ed5c90f7b80d9\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Thu Mar 26 17:01:03 2015 +0100\r\n\r\n    Cleaning up settings a bit so they can be loaded\r\n\r\n     * Moving unloadable settings modules to kalite.legacy\r\n     * Changing fle_utils.settingshelper to use normal python\r\n       module loading instead of assuming some arbitrary file\r\n       path for all the apps.\r\n     * Only try to load a kalite.app.settings module\r\n\r\ncommit f5380f4e067715ac49f21b6d82f92945e6fd7500\r\nMerge: 15ffe79 e696e11\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Mar 25 13:02:37 2015 +0100\r\n\r\n    Merge branch 'fix-settings-circularity' into setuptools-installer\r\n\r\ncommit e696e11b87cfaf4b632ed7f4b69c1da8ce2ca3cd\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Mar 25 13:00:15 2015 +0100\r\n\r\n    Don't access settings from __init__ this gives circularity\r\n\r\ncommit 15ffe79f9f2377b82c3a901efc3e0eafb638a344\r\nMerge: 6be3497 cbe72bd\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Wed Mar 25 12:55:23 2015 +0100\r\n\r\n    Merge branch 'develop' into setuptools-installer\r\n\r\ncommit 6be349752913dfac78ef952924d69dce1923c672\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 21:34:24 2015 +0100\r\n\r\n    use package data from MANIFEST.in\r\n\r\ncommit 3aa18515d53f94e582e8d4d0746df256b294b5ad\r\nMerge: 55c67d7 ad44585\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 21:32:49 2015 +0100\r\n\r\n    Merge branch 'rpi-less-hotfixed' into setuptools-installer\r\n\r\ncommit 55c67d741cb6bef6f1d32597261f81b64a225a43\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 21:32:47 2015 +0100\r\n\r\n    pep8\r\n\r\ncommit 6a4a6eb9cab2d0d6afc9db42c238f9fa88f21c1d\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Tue Mar 24 20:45:04 2015 +0100\r\n\r\n    add setup.py files + comments\r\n\r\ncommit d91f0228de9910a95fe5949e392bc35f1e32ec1b\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:40:46 2015 +0100\r\n\r\n    An setup.py that almost works, except because kalite package is not quite designed to run from outside the ka-lite project dir.\r\n\r\ncommit 5dbd4112dd5078aa3a66328cb7ddb35f50ddd034\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:39:54 2015 +0100\r\n\r\n    Settings for creating Wheel (.whl) python packages\r\n\r\ncommit ff4ff7a40c2566054ba4a801e966d944164c7137\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:39:28 2015 +0100\r\n\r\n    Add var containing path to all the data files\r\n\r\ncommit afb181f8e1e59c5b73eb20f1c2acf169a6c01a97\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:37:45 2015 +0100\r\n\r\n    Look for data in sys.prefix+'/share/kalite', e.g. /usr/share/kalite\r\n\r\ncommit 8ad2ef556bad290c45b0e65eda335a01400b69f4\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:37:23 2015 +0100\r\n\r\n    ignore setuptools sdist dir\r\n\r\ncommit 6ef76636369e0785365274d5dff513a1424ae19a\r\nAuthor: Benjamin Bach <benjaoming@gmail.com>\r\nDate:   Mon Mar 23 13:36:43 2015 +0100\r\n\r\n    prelimenary ocs for packagers"},"comment":{"url":"https://api.github.com/repos/learningequality/ka-lite/issues/comments/93252785","html_url":"https://github.com/learningequality/ka-lite/pull/3519#issuecomment-93252785","issue_url":"https://api.github.com/repos/learningequality/ka-lite/issues/3519","id":93252785,"user":{"login":"ruimalheiro","id":1102381,"avatar_url":"https://avatars.githubusercontent.com/u/1102381?v=3","gravatar_id":"","url":"https://api.github.com/users/ruimalheiro","html_url":"https://github.com/ruimalheiro","followers_url":"https://api.github.com/users/ruimalheiro/followers","following_url":"https://api.github.com/users/ruimalheiro/following{/other_user}","gists_url":"https://api.github.com/users/ruimalheiro/gists{/gist_id}","starred_url":"https://api.github.com/users/ruimalheiro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ruimalheiro/subscriptions","organizations_url":"https://api.github.com/users/ruimalheiro/orgs","repos_url":"https://api.github.com/users/ruimalheiro/repos","events_url":"https://api.github.com/users/ruimalheiro/events{/privacy}","received_events_url":"https://api.github.com/users/ruimalheiro/received_events","type":"User","site_admin":false},"created_at":"2015-04-15T08:07:18Z","updated_at":"2015-04-15T08:07:18Z","body":"@benjaoming , the installer is not using the .pid files. It should be safe. :+1: "}}