{"action":"created","issue":{"url":"https://api.github.com/repos/pelias/openaddresses/issues/31","labels_url":"https://api.github.com/repos/pelias/openaddresses/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/pelias/openaddresses/issues/31/comments","events_url":"https://api.github.com/repos/pelias/openaddresses/issues/31/events","html_url":"https://github.com/pelias/openaddresses/pull/31","id":127323469,"number":31,"title":"Refactor import streams and add tests","user":{"login":"orangejulius","id":111716,"avatar_url":"https://avatars.githubusercontent.com/u/111716?v=3","gravatar_id":"","url":"https://api.github.com/users/orangejulius","html_url":"https://github.com/orangejulius","followers_url":"https://api.github.com/users/orangejulius/followers","following_url":"https://api.github.com/users/orangejulius/following{/other_user}","gists_url":"https://api.github.com/users/orangejulius/gists{/gist_id}","starred_url":"https://api.github.com/users/orangejulius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orangejulius/subscriptions","organizations_url":"https://api.github.com/users/orangejulius/orgs","repos_url":"https://api.github.com/users/orangejulius/repos","events_url":"https://api.github.com/users/orangejulius/events{/privacy}","received_events_url":"https://api.github.com/users/orangejulius/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pelias/openaddresses/labels/in%20review","name":"in review","color":"ededed"}],"state":"closed","locked":false,"assignee":{"login":"orangejulius","id":111716,"avatar_url":"https://avatars.githubusercontent.com/u/111716?v=3","gravatar_id":"","url":"https://api.github.com/users/orangejulius","html_url":"https://github.com/orangejulius","followers_url":"https://api.github.com/users/orangejulius/followers","following_url":"https://api.github.com/users/orangejulius/following{/other_user}","gists_url":"https://api.github.com/users/orangejulius/gists{/gist_id}","starred_url":"https://api.github.com/users/orangejulius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orangejulius/subscriptions","organizations_url":"https://api.github.com/users/orangejulius/orgs","repos_url":"https://api.github.com/users/orangejulius/repos","events_url":"https://api.github.com/users/orangejulius/events{/privacy}","received_events_url":"https://api.github.com/users/orangejulius/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/pelias/openaddresses/milestones/2","html_url":"https://github.com/pelias/openaddresses/milestones/Who's%20on%20First","labels_url":"https://api.github.com/repos/pelias/openaddresses/milestones/2/labels","id":1502965,"number":2,"title":"Who's on First","description":"","creator":{"login":"dianashk","id":5446511,"avatar_url":"https://avatars.githubusercontent.com/u/5446511?v=3","gravatar_id":"","url":"https://api.github.com/users/dianashk","html_url":"https://github.com/dianashk","followers_url":"https://api.github.com/users/dianashk/followers","following_url":"https://api.github.com/users/dianashk/following{/other_user}","gists_url":"https://api.github.com/users/dianashk/gists{/gist_id}","starred_url":"https://api.github.com/users/dianashk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dianashk/subscriptions","organizations_url":"https://api.github.com/users/dianashk/orgs","repos_url":"https://api.github.com/users/dianashk/repos","events_url":"https://api.github.com/users/dianashk/events{/privacy}","received_events_url":"https://api.github.com/users/dianashk/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":4,"state":"open","created_at":"2016-01-12T19:35:50Z","updated_at":"2016-01-22T22:25:45Z","due_on":"2016-01-22T05:00:00Z","closed_at":null},"comments":3,"created_at":"2016-01-18T22:29:58Z","updated_at":"2016-01-22T22:25:45Z","closed_at":"2016-01-22T22:25:45Z","pull_request":{"url":"https://api.github.com/repos/pelias/openaddresses/pulls/31","html_url":"https://github.com/pelias/openaddresses/pull/31","diff_url":"https://github.com/pelias/openaddresses/pull/31.diff","patch_url":"https://github.com/pelias/openaddresses/pull/31.patch"},"body":"This is a big, and almost pure refactoring of all the tests and streams involved in the Openaddresses importer.\n\n## Changes\n* invalid CSV rows are filtered out in a separate stream\n* code to perform cleanup on record fields is now called only from a separate cleanup stream\n* the one giant test file is split into files for testing different areas of the code\n* a little bit more explicit handling of whitespace trimming is added: previously values that consisted only of whitespace (possible since the CSV parser's trim functionality, which we are using, doesn't trim quoted CSV fields) would be caught by pelias-model. They are now explicitly filtered out before then\n* doubly nested try/catch blocks are removed or replaced with better control flow\n* a couple additional test cases are added to the functional tests\n* Add logging for invalid CSV rows\n\nFixes pelias/pelias#228"},"comment":{"url":"https://api.github.com/repos/pelias/openaddresses/issues/comments/174072118","html_url":"https://github.com/pelias/openaddresses/pull/31#issuecomment-174072118","issue_url":"https://api.github.com/repos/pelias/openaddresses/issues/31","id":174072118,"user":{"login":"orangejulius","id":111716,"avatar_url":"https://avatars.githubusercontent.com/u/111716?v=3","gravatar_id":"","url":"https://api.github.com/users/orangejulius","html_url":"https://github.com/orangejulius","followers_url":"https://api.github.com/users/orangejulius/followers","following_url":"https://api.github.com/users/orangejulius/following{/other_user}","gists_url":"https://api.github.com/users/orangejulius/gists{/gist_id}","starred_url":"https://api.github.com/users/orangejulius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orangejulius/subscriptions","organizations_url":"https://api.github.com/users/orangejulius/orgs","repos_url":"https://api.github.com/users/orangejulius/repos","events_url":"https://api.github.com/users/orangejulius/events{/privacy}","received_events_url":"https://api.github.com/users/orangejulius/received_events","type":"User","site_admin":false},"created_at":"2016-01-22T22:25:45Z","updated_at":"2016-01-22T22:25:45Z","body":"Subsumed by #34 "}}