GitHub PullRequestReviewCommentEvent at 2014-07-17 06:31:17
Repository: quamash
Actor: harvimt
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/harvimt/quamash/pulls/comments/15042785","id":15042785,"diff_hunk":"@@ -75,6 +83,7 @@ def test_can_execute_subprocess(loop):\n \tassert transport.get_returncode() == 0\n \tassert protocol.received_stdout == 'Hello async world!'\n \n+","path":"tests/test_qeventloop.py","position":33,"original_position":33,"commit_id":"db6d58286035b98aab3f02b1022f385f7b3b4465","original_commit_id":"db6d58286035b98aab3f02b1022f385f7b3b4465","user":{"login":"harvimt","id":119106,"avatar_url":"https://avatars.githubusercontent.com/u/119106?","gravatar_id":"02a0aaf786adc01138d4b6f0893b73c7","url":"https://api.github.com/users/harvimt","html_url":"https://github.com/harvimt","followers_url":"https://api.github.com/users/harvimt/followers","following_url":"https://api.github.com/users/harvimt/following{/other_user}","gists_url":"https://api.github.com/users/harvimt/gists{/gist_id}","starred_url":"https://api.github.com/users/harvimt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harvimt/subscriptions","organizations_url":"https://api.github.com/users/harvimt/orgs","repos_url":"https://api.github.com/users/harvimt/repos","events_url":"https://api.github.com/users/harvimt/events{/privacy}","received_events_url":"https://api.github.com/users/harvimt/received_events","type":"User","site_admin":false},"body":"Merged\r\n\r\nFixed all PEP8 errors except line too long (and installed PEP8 py.test\r\nplugin)\r\n\r\nTesting all executors instead of just the default.\r\nQThreadExecutors are only necessary for thread workers to receive signals,\r\nbut not to send them, in fact they're kind of useless in some ways, it's\r\nhard to imagine a circumstance where you'd want to use threadworkers and\r\nreceive signals. Workers are sort of data-in data-out kind of deal, you can\r\nsend data in the arguments field and send data out by return, more\r\ncomplicated and you can use threading.Thread or QThreads directly.\r\n\r\nQThreadExecutor now uses .shutdown instead of .close (I should have read\r\nthe spec at concurrent.futures more carefully, I always use the\r\ncontextmanager interface so I'd never actually called .shutdown manually)\r\n\r\nA couple other stuff too.\r\n\r\nOverall we have about 80% test coverage at this point which isn't bad. (I\r\nhaven't tried running py.test --cov on a *nix machine yet)\r\n\r\n\r\n\r\nOn Tue, Jul 15, 2014 at 6:03 AM, Arve Knudsen <notifications@github.com>\r\nwrote:\r\n\r\n> In tests/test_qeventloop.py:\r\n>\r\n> > @@ -75,6 +83,7 @@ def test_can_execute_subprocess(loop):\r\n> >  \tassert transport.get_returncode() == 0\r\n> >  \tassert protocol.received_stdout == 'Hello async world!'\r\n> >\r\n> > +\r\n>\r\n> PEP 8 dictates two lines between functions.\r\n>\r\n> —\r\n> Reply to this email directly or view it on GitHub\r\n> <https://github.com/harvimt/quamash/pull/3/files#r14932220>.\r\n>","created_at":"2014-07-17T06:31:17Z","updated_at":"2014-07-17T06:31:17Z","html_url":"https://github.com/harvimt/quamash/pull/3#discussion_r15042785","pull_request_url":"https://api.github.com/repos/harvimt/quamash/pulls/3","_links":{"self":{"href":"https://api.github.com/repos/harvimt/quamash/pulls/comments/15042785"},"html":{"href":"https://github.com/harvimt/quamash/pull/3#discussion_r15042785"},"pull_request":{"href":"https://api.github.com/repos/harvimt/quamash/pulls/3"}}},"pull_request":{"url":"https://api.github.com/repos/harvimt/quamash/pulls/3","id":18406107,"html_url":"https://github.com/harvimt/quamash/pull/3","diff_url":"https://github.com/harvimt/quamash/pull/3.diff","patch_url":"https://github.com/harvimt/quamash/pull/3.patch","issue_url":"https://api.github.com/repos/harvimt/quamash/issues/3","number":3,"state":"open","title":"Handle exceptions in thread workers","user":{"login":"aknuds1","id":281303,"avatar_url":"https://avatars.githubusercontent.com/u/281303?","gravatar_id":"3e27be34f21aa0acd442e1961c17c362","url":"https://api.github.com/users/aknuds1","html_url":"https://github.com/aknuds1","followers_url":"https://api.github.com/users/aknuds1/followers","following_url":"https://api.github.com/users/aknuds1/following{/other_user}","gists_url":"https://api.github.com/users/aknuds1/gists{/gist_id}","starred_url":"https://api.github.com/users/aknuds1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aknuds1/subscriptions","organizations_url":"https://api.github.com/users/aknuds1/orgs","repos_url":"https://api.github.com/users/aknuds1/repos","events_url":"https://api.github.com/users/aknuds1/events{/privacy}","received_events_url":"https://api.github.com/users/aknuds1/received_events","type":"User","site_admin":false},"body":"I discovered that exceptions occurring in background threads (as scheduled through the QThreadExecutor) weren't caught and passed on as they should. This patch rectifies that, and there's a test to prove it :)","created_at":"2014-07-15T13:02:30Z","updated_at":"2014-07-17T06:31:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eb9bc321acd8f24007771a611c1b0f688b1f468b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/harvimt/quamash/pulls/3/commits","review_comments_url":"https://api.github.com/repos/harvimt/quamash/pulls/3/comments","review_comment_url":"https://api.github.com/repos/harvimt/quamash/pulls/comments/{number}","comments_url":"https://api.github.com/repos/harvimt/quamash/issues/3/comments","statuses_url":"https://api.github.com/repos/harvimt/quamash/statuses/db6d58286035b98aab3f02b1022f385f7b3b4465","head":{"label":"aknuds1:thread-exceptions","ref":"thread-exceptions","sha":"db6d58286035b98aab3f02b1022f385f7b3b4465","user":{"login":"aknuds1","id":281303,"avatar_url":"https://avatars.githubusercontent.com/u/281303?","gravatar_id":"3e27be34f21aa0acd442e1961c17c362","url":"https://api.github.com/users/aknuds1","html_url":"https://github.com/aknuds1","followers_url":"https://api.github.com/users/aknuds1/followers","following_url":"https://api.github.com/users/aknuds1/following{/other_user}","gists_url":"https://api.github.com/users/aknuds1/gists{/gist_id}","starred_url":"https://api.github.com/users/aknuds1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aknuds1/subscriptions","organizations_url":"https://api.github.com/users/aknuds1/orgs","repos_url":"https://api.github.com/users/aknuds1/repos","events_url":"https://api.github.com/users/aknuds1/events{/privacy}","received_events_url":"https://api.github.com/users/aknuds1/received_events","type":"User","site_admin":false},"repo":{"id":21266562,"name":"quamash","full_name":"aknuds1/quamash","owner":{"login":"aknuds1","id":281303,"avatar_url":"https://avatars.githubusercontent.com/u/281303?","gravatar_id":"3e27be34f21aa0acd442e1961c17c362","url":"https://api.github.com/users/aknuds1","html_url":"https://github.com/aknuds1","followers_url":"https://api.github.com/users/aknuds1/followers","following_url":"https://api.github.com/users/aknuds1/following{/other_user}","gists_url":"https://api.github.com/users/aknuds1/gists{/gist_id}","starred_url":"https://api.github.com/users/aknuds1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aknuds1/subscriptions","organizations_url":"https://api.github.com/users/aknuds1/orgs","repos_url":"https://api.github.com/users/aknuds1/repos","events_url":"https://api.github.com/users/aknuds1/events{/privacy}","received_events_url":"https://api.github.com/users/aknuds1/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/aknuds1/quamash","description":"Implementation of the Python asyncio event-loop api on top of Qt","fork":true,"url":"https://api.github.com/repos/aknuds1/quamash","forks_url":"https://api.github.com/repos/aknuds1/quamash/forks","keys_url":"https://api.github.com/repos/aknuds1/quamash/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aknuds1/quamash/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aknuds1/quamash/teams","hooks_url":"https://api.github.com/repos/aknuds1/quamash/hooks","issue_events_url":"https://api.github.com/repos/aknuds1/quamash/issues/events{/number}","events_url":"https://api.github.com/repos/aknuds1/quamash/events","assignees_url":"https://api.github.com/repos/aknuds1/quamash/assignees{/user}","branches_url":"https://api.github.com/repos/aknuds1/quamash/branches{/branch}","tags_url":"https://api.github.com/repos/aknuds1/quamash/tags","blobs_url":"https://api.github.com/repos/aknuds1/quamash/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aknuds1/quamash/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aknuds1/quamash/git/refs{/sha}","trees_url":"https://api.github.com/repos/aknuds1/quamash/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aknuds1/quamash/statuses/{sha}","languages_url":"https://api.github.com/repos/aknuds1/quamash/languages","stargazers_url":"https://api.github.com/repos/aknuds1/quamash/stargazers","contributors_url":"https://api.github.com/repos/aknuds1/quamash/contributors","subscribers_url":"https://api.github.com/repos/aknuds1/quamash/subscribers","subscription_url":"https://api.github.com/repos/aknuds1/quamash/subscription","commits_url":"https://api.github.com/repos/aknuds1/quamash/commits{/sha}","git_commits_url":"https://api.github.com/repos/aknuds1/quamash/git/commits{/sha}","comments_url":"https://api.github.com/repos/aknuds1/quamash/comments{/number}","issue_comment_url":"https://api.github.com/repos/aknuds1/quamash/issues/comments/{number}","contents_url":"https://api.github.com/repos/aknuds1/quamash/contents/{+path}","compare_url":"https://api.github.com/repos/aknuds1/quamash/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aknuds1/quamash/merges","archive_url":"https://api.github.com/repos/aknuds1/quamash/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aknuds1/quamash/downloads","issues_url":"https://api.github.com/repos/aknuds1/quamash/issues{/number}","pulls_url":"https://api.github.com/repos/aknuds1/quamash/pulls{/number}","milestones_url":"https://api.github.com/repos/aknuds1/quamash/milestones{/number}","notifications_url":"https://api.github.com/repos/aknuds1/quamash/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aknuds1/quamash/labels{/name}","releases_url":"https://api.github.com/repos/aknuds1/quamash/releases{/id}","created_at":"2014-06-27T06:42:19Z","updated_at":"2014-06-27T18:02:15Z","pushed_at":"2014-07-15T12:58:01Z","git_url":"git://github.com/aknuds1/quamash.git","ssh_url":"git@github.com:aknuds1/quamash.git","clone_url":"https://github.com/aknuds1/quamash.git","svn_url":"https://github.com/aknuds1/quamash","homepage":"","size":658,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"harvimt:master","ref":"master","sha":"f77ee9f8f6939d11ff8e7e0063e7454428316c8a","user":{"login":"harvimt","id":119106,"avatar_url":"https://avatars.githubusercontent.com/u/119106?","gravatar_id":"02a0aaf786adc01138d4b6f0893b73c7","url":"https://api.github.com/users/harvimt","html_url":"https://github.com/harvimt","followers_url":"https://api.github.com/users/harvimt/followers","following_url":"https://api.github.com/users/harvimt/following{/other_user}","gists_url":"https://api.github.com/users/harvimt/gists{/gist_id}","starred_url":"https://api.github.com/users/harvimt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harvimt/subscriptions","organizations_url":"https://api.github.com/users/harvimt/orgs","repos_url":"https://api.github.com/users/harvimt/repos","events_url":"https://api.github.com/users/harvimt/events{/privacy}","received_events_url":"https://api.github.com/users/harvimt/received_events","type":"User","site_admin":false},"repo":{"id":10632220,"name":"quamash","full_name":"harvimt/quamash","owner":{"login":"harvimt","id":119106,"avatar_url":"https://avatars.githubusercontent.com/u/119106?","gravatar_id":"02a0aaf786adc01138d4b6f0893b73c7","url":"https://api.github.com/users/harvimt","html_url":"https://github.com/harvimt","followers_url":"https://api.github.com/users/harvimt/followers","following_url":"https://api.github.com/users/harvimt/following{/other_user}","gists_url":"https://api.github.com/users/harvimt/gists{/gist_id}","starred_url":"https://api.github.com/users/harvimt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harvimt/subscriptions","organizations_url":"https://api.github.com/users/harvimt/orgs","repos_url":"https://api.github.com/users/harvimt/repos","events_url":"https://api.github.com/users/harvimt/events{/privacy}","received_events_url":"https://api.github.com/users/harvimt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/harvimt/quamash","description":"Implementation of the Tulip event-loop api using the Qt Event-Loop","fork":false,"url":"https://api.github.com/repos/harvimt/quamash","forks_url":"https://api.github.com/repos/harvimt/quamash/forks","keys_url":"https://api.github.com/repos/harvimt/quamash/keys{/key_id}","collaborators_url":"https://api.github.com/repos/harvimt/quamash/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/harvimt/quamash/teams","hooks_url":"https://api.github.com/repos/harvimt/quamash/hooks","issue_events_url":"https://api.github.com/repos/harvimt/quamash/issues/events{/number}","events_url":"https://api.github.com/repos/harvimt/quamash/events","assignees_url":"https://api.github.com/repos/harvimt/quamash/assignees{/user}","branches_url":"https://api.github.com/repos/harvimt/quamash/branches{/branch}","tags_url":"https://api.github.com/repos/harvimt/quamash/tags","blobs_url":"https://api.github.com/repos/harvimt/quamash/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/harvimt/quamash/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/harvimt/quamash/git/refs{/sha}","trees_url":"https://api.github.com/repos/harvimt/quamash/git/trees{/sha}","statuses_url":"https://api.github.com/repos/harvimt/quamash/statuses/{sha}","languages_url":"https://api.github.com/repos/harvimt/quamash/languages","stargazers_url":"https://api.github.com/repos/harvimt/quamash/stargazers","contributors_url":"https://api.github.com/repos/harvimt/quamash/contributors","subscribers_url":"https://api.github.com/repos/harvimt/quamash/subscribers","subscription_url":"https://api.github.com/repos/harvimt/quamash/subscription","commits_url":"https://api.github.com/repos/harvimt/quamash/commits{/sha}","git_commits_url":"https://api.github.com/repos/harvimt/quamash/git/commits{/sha}","comments_url":"https://api.github.com/repos/harvimt/quamash/comments{/number}","issue_comment_url":"https://api.github.com/repos/harvimt/quamash/issues/comments/{number}","contents_url":"https://api.github.com/repos/harvimt/quamash/contents/{+path}","compare_url":"https://api.github.com/repos/harvimt/quamash/compare/{base}...{head}","merges_url":"https://api.github.com/repos/harvimt/quamash/merges","archive_url":"https://api.github.com/repos/harvimt/quamash/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/harvimt/quamash/downloads","issues_url":"https://api.github.com/repos/harvimt/quamash/issues{/number}","pulls_url":"https://api.github.com/repos/harvimt/quamash/pulls{/number}","milestones_url":"https://api.github.com/repos/harvimt/quamash/milestones{/number}","notifications_url":"https://api.github.com/repos/harvimt/quamash/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/harvimt/quamash/labels{/name}","releases_url":"https://api.github.com/repos/harvimt/quamash/releases{/id}","created_at":"2013-06-11T22:26:29Z","updated_at":"2014-07-11T13:48:01Z","pushed_at":"2014-07-17T06:25:15Z","git_url":"git://github.com/harvimt/quamash.git","ssh_url":"git@github.com:harvimt/quamash.git","clone_url":"https://github.com/harvimt/quamash.git","svn_url":"https://github.com/harvimt/quamash","homepage":null,"size":321,"stargazers_count":3,"watchers_count":3,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/harvimt/quamash/pulls/3"},"html":{"href":"https://github.com/harvimt/quamash/pull/3"},"issue":{"href":"https://api.github.com/repos/harvimt/quamash/issues/3"},"comments":{"href":"https://api.github.com/repos/harvimt/quamash/issues/3/comments"},"review_comments":{"href":"https://api.github.com/repos/harvimt/quamash/pulls/3/comments"},"review_comment":{"href":"https://api.github.com/repos/harvimt/quamash/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/harvimt/quamash/pulls/3/commits"},"statuses":{"href":"https://api.github.com/repos/harvimt/quamash/statuses/db6d58286035b98aab3f02b1022f385f7b3b4465"}}}}