{"action":"created","issue":{"url":"https://api.github.com/repos/EducationalTestingService/skll/issues/246","labels_url":"https://api.github.com/repos/EducationalTestingService/skll/issues/246/labels{/name}","comments_url":"https://api.github.com/repos/EducationalTestingService/skll/issues/246/comments","events_url":"https://api.github.com/repos/EducationalTestingService/skll/issues/246/events","html_url":"https://github.com/EducationalTestingService/skll/pull/246","id":95027194,"number":246,"title":"Overhaul configuration file parsing","user":{"login":"desilinguist","id":161680,"avatar_url":"https://avatars.githubusercontent.com/u/161680?v=3","gravatar_id":"","url":"https://api.github.com/users/desilinguist","html_url":"https://github.com/desilinguist","followers_url":"https://api.github.com/users/desilinguist/followers","following_url":"https://api.github.com/users/desilinguist/following{/other_user}","gists_url":"https://api.github.com/users/desilinguist/gists{/gist_id}","starred_url":"https://api.github.com/users/desilinguist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/desilinguist/subscriptions","organizations_url":"https://api.github.com/users/desilinguist/orgs","repos_url":"https://api.github.com/users/desilinguist/repos","events_url":"https://api.github.com/users/desilinguist/events{/privacy}","received_events_url":"https://api.github.com/users/desilinguist/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"aoifecahill","id":1999341,"avatar_url":"https://avatars.githubusercontent.com/u/1999341?v=3","gravatar_id":"","url":"https://api.github.com/users/aoifecahill","html_url":"https://github.com/aoifecahill","followers_url":"https://api.github.com/users/aoifecahill/followers","following_url":"https://api.github.com/users/aoifecahill/following{/other_user}","gists_url":"https://api.github.com/users/aoifecahill/gists{/gist_id}","starred_url":"https://api.github.com/users/aoifecahill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aoifecahill/subscriptions","organizations_url":"https://api.github.com/users/aoifecahill/orgs","repos_url":"https://api.github.com/users/aoifecahill/repos","events_url":"https://api.github.com/users/aoifecahill/events{/privacy}","received_events_url":"https://api.github.com/users/aoifecahill/received_events","type":"User","site_admin":false},"milestone":null,"comments":12,"created_at":"2015-07-14T20:00:32Z","updated_at":"2015-07-17T22:25:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/EducationalTestingService/skll/pulls/246","html_url":"https://github.com/EducationalTestingService/skll/pull/246","diff_url":"https://github.com/EducationalTestingService/skll/pull/246.diff","patch_url":"https://github.com/EducationalTestingService/skll/pull/246.patch"},"body":"- Use a new custom parser class `SKLLConfigParser` based on `ConfigParser`.\r\n- Move all of the configuration parsing code to `config.py` and out of `experiments.py`.\r\n- Add a `validate()` method to the config parser that raises a `KeyError` if:\r\n  - unrecognized options are specified\r\n  - options are specified in more than one section\r\n  - options are specified in the wrong section (#223)\r\n- Add unit tests for the above validation checks\r\n- Update tests to deal with the above changes\r\n- Update `requirements_rtd.txt` to install the latest version of `ConfigParser` (v3.5.0b2)"},"comment":{"url":"https://api.github.com/repos/EducationalTestingService/skll/issues/comments/122435535","html_url":"https://github.com/EducationalTestingService/skll/pull/246#issuecomment-122435535","issue_url":"https://api.github.com/repos/EducationalTestingService/skll/issues/246","id":122435535,"user":{"login":"landscape-bot","id":10010231,"avatar_url":"https://avatars.githubusercontent.com/u/10010231?v=3","gravatar_id":"","url":"https://api.github.com/users/landscape-bot","html_url":"https://github.com/landscape-bot","followers_url":"https://api.github.com/users/landscape-bot/followers","following_url":"https://api.github.com/users/landscape-bot/following{/other_user}","gists_url":"https://api.github.com/users/landscape-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/landscape-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/landscape-bot/subscriptions","organizations_url":"https://api.github.com/users/landscape-bot/orgs","repos_url":"https://api.github.com/users/landscape-bot/repos","events_url":"https://api.github.com/users/landscape-bot/events{/privacy}","received_events_url":"https://api.github.com/users/landscape-bot/received_events","type":"User","site_admin":false},"created_at":"2015-07-17T22:25:54Z","updated_at":"2015-07-17T22:25:54Z","body":"[![Code Health](https://landscape.io/badge/209502/landscape.svg?style=flat)](https://landscape.io/diff/198130)\nRepository health increased by 0.16% when pulling **[3a08303](https://github.com/EducationalTestingService/skll/commit/3a08303a8497d30b18a08bcbcef36688b0164b92) on feature/overhaul-config-parsing** into **[2ad3b65](https://github.com/EducationalTestingService/skll/commit/2ad3b657910944779527ab567583fb7dc7f8c9f9) on master**.\n\n * [4 new problems were found](https://landscape.io/diff/198130) (including 0 errors and 2 code smells).\n * [3 problems were fixed](https://landscape.io/diff/198130/fixed) (including 0 errors and 1 code smell)."}}