{"action":"created","issue":{"url":"https://api.github.com/repos/insomnia-lab/libreant/issues/100","labels_url":"https://api.github.com/repos/insomnia-lab/libreant/issues/100/labels{/name}","comments_url":"https://api.github.com/repos/insomnia-lab/libreant/issues/100/comments","events_url":"https://api.github.com/repos/insomnia-lab/libreant/issues/100/events","html_url":"https://github.com/insomnia-lab/libreant/pull/100","id":58455877,"number":100,"title":"new presets system","user":{"login":"ael-code","id":4229536,"avatar_url":"https://avatars.githubusercontent.com/u/4229536?v=3","gravatar_id":"","url":"https://api.github.com/users/ael-code","html_url":"https://github.com/ael-code","followers_url":"https://api.github.com/users/ael-code/followers","following_url":"https://api.github.com/users/ael-code/following{/other_user}","gists_url":"https://api.github.com/users/ael-code/gists{/gist_id}","starred_url":"https://api.github.com/users/ael-code/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ael-code/subscriptions","organizations_url":"https://api.github.com/users/ael-code/orgs","repos_url":"https://api.github.com/users/ael-code/repos","events_url":"https://api.github.com/users/ael-code/events{/privacy}","received_events_url":"https://api.github.com/users/ael-code/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/insomnia-lab/libreant/milestones/2","labels_url":"https://api.github.com/repos/insomnia-lab/libreant/milestones/2/labels","id":943468,"number":2,"title":"0.2","description":"This milestone is focused on:\r\n* documentation\r\n* having authentication / authorization\r\n* management scripts\r\n\r\nSo to get nearer to a real deploy somewhere!","creator":{"login":"ael-code","id":4229536,"avatar_url":"https://avatars.githubusercontent.com/u/4229536?v=3","gravatar_id":"","url":"https://api.github.com/users/ael-code","html_url":"https://github.com/ael-code","followers_url":"https://api.github.com/users/ael-code/followers","following_url":"https://api.github.com/users/ael-code/following{/other_user}","gists_url":"https://api.github.com/users/ael-code/gists{/gist_id}","starred_url":"https://api.github.com/users/ael-code/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ael-code/subscriptions","organizations_url":"https://api.github.com/users/ael-code/orgs","repos_url":"https://api.github.com/users/ael-code/repos","events_url":"https://api.github.com/users/ael-code/events{/privacy}","received_events_url":"https://api.github.com/users/ael-code/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":13,"state":"open","created_at":"2015-01-20T12:57:04Z","updated_at":"2015-02-24T15:35:30Z","due_on":null,"closed_at":null},"comments":33,"created_at":"2015-02-21T11:18:26Z","updated_at":"2015-02-24T20:54:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/insomnia-lab/libreant/pulls/100","html_url":"https://github.com/insomnia-lab/libreant/pull/100","diff_url":"https://github.com/insomnia-lab/libreant/pull/100.diff","patch_url":"https://github.com/insomnia-lab/libreant/pull/100.patch"},"body":"I rewrote the presets parsing system. The code is a bit tricky but we now use a declarative code to teach the parser/checker, this means that adding new type field required no more then 4 static lines. Except the way we do parsing, almost all behavior about presets stay the same.\r\nI wrote a lot of tests about skeleton parsing and prest_paths loading.\r\nAs we decided, I also moved presets module outside webant folder.\r\n\r\n##### Notes:\r\n - For cli command to debug presets stuff refer to #99.\r\n\r\n##### Evident change for librarian:\r\nFrom the users point of view there are few changes:\r\n - in order to support different kind of input, has been introduced a new field ```type``` for property objects. At the moment we support two type : ```string``` and ```list```\r\n - properties are now an ordered list, so the librarian can decide how to organize form inputs in add-page directly from the json schema.\r\n - Exceptions and logs about preset stuff are now more informative ( you should understand exactly where did you miss ) \r\n\r\n\r\n##### Testing:\r\nIf you want to test preset you can use old method. You can use ```PRESET_PATHS``` conf to pass a list of path containing presets file. You can use example schemas from ```libreant/presets/defaultPresets/```\r\n\r\n\r\nThis should fix #70 and help with #59"},"comment":{"url":"https://api.github.com/repos/insomnia-lab/libreant/issues/comments/75843635","html_url":"https://github.com/insomnia-lab/libreant/pull/100#issuecomment-75843635","issue_url":"https://api.github.com/repos/insomnia-lab/libreant/issues/100","id":75843635,"user":{"login":"ael-code","id":4229536,"avatar_url":"https://avatars.githubusercontent.com/u/4229536?v=3","gravatar_id":"","url":"https://api.github.com/users/ael-code","html_url":"https://github.com/ael-code","followers_url":"https://api.github.com/users/ael-code/followers","following_url":"https://api.github.com/users/ael-code/following{/other_user}","gists_url":"https://api.github.com/users/ael-code/gists{/gist_id}","starred_url":"https://api.github.com/users/ael-code/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ael-code/subscriptions","organizations_url":"https://api.github.com/users/ael-code/orgs","repos_url":"https://api.github.com/users/ael-code/repos","events_url":"https://api.github.com/users/ael-code/events{/privacy}","received_events_url":"https://api.github.com/users/ael-code/received_events","type":"User","site_admin":false},"created_at":"2015-02-24T20:54:22Z","updated_at":"2015-02-24T20:54:22Z","body":"strict parameter was primary introduced because of testing ( testing function use ```strict=True```). I don't know how to write test that catch log messages. \r\nStrict parameter it will be also useful for cli preset-check implementation. \r\nI don't think we need also a config entry."}}