{"action":"created","comment":{"url":"https://api.github.com/repos/GafferHQ/gaffer/pulls/comments/87995132","pull_request_review_id":8580803,"id":87995132,"diff_hunk":"@@ -349,5 +349,36 @@ def assertConnections() :\n \t\ts.addChild( n )\n \t\tassertConnections()\n \n+\tdef testReconnectionOfChildPlug( self ) :","path":"python/GafferTest/NodeTest.py","position":4,"original_position":4,"commit_id":"33100cc9fd0b75eafdaeb4c90869d1c0fe1b02ca","original_commit_id":"c8e277d7595b3a71d7d47756c47b5f9a36733e12","user":{"login":"johnhaddon","id":1133871,"avatar_url":"https://avatars.githubusercontent.com/u/1133871?v=3","gravatar_id":"","url":"https://api.github.com/users/johnhaddon","html_url":"https://github.com/johnhaddon","followers_url":"https://api.github.com/users/johnhaddon/followers","following_url":"https://api.github.com/users/johnhaddon/following{/other_user}","gists_url":"https://api.github.com/users/johnhaddon/gists{/gist_id}","starred_url":"https://api.github.com/users/johnhaddon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnhaddon/subscriptions","organizations_url":"https://api.github.com/users/johnhaddon/orgs","repos_url":"https://api.github.com/users/johnhaddon/repos","events_url":"https://api.github.com/users/johnhaddon/events{/privacy}","received_events_url":"https://api.github.com/users/johnhaddon/received_events","type":"User","site_admin":false},"body":"I think this should be in ScriptNodeTest, where all the other reconnection tests are (because the reconnection logic is all in ScriptNode).","created_at":"2016-11-15T11:13:32Z","updated_at":"2016-11-15T11:32:09Z","html_url":"https://github.com/GafferHQ/gaffer/pull/1919#discussion_r87995132","pull_request_url":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919","_links":{"self":{"href":"https://api.github.com/repos/GafferHQ/gaffer/pulls/comments/87995132"},"html":{"href":"https://github.com/GafferHQ/gaffer/pull/1919#discussion_r87995132"},"pull_request":{"href":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919"}}},"pull_request":{"url":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919","id":93253153,"html_url":"https://github.com/GafferHQ/gaffer/pull/1919","diff_url":"https://github.com/GafferHQ/gaffer/pull/1919.diff","patch_url":"https://github.com/GafferHQ/gaffer/pull/1919.patch","issue_url":"https://api.github.com/repos/GafferHQ/gaffer/issues/1919","number":1919,"state":"open","locked":false,"title":"Implement correspondingInput for OSLShader and ArnoldShader","user":{"login":"mattigruener","id":19398650,"avatar_url":"https://avatars.githubusercontent.com/u/19398650?v=3","gravatar_id":"","url":"https://api.github.com/users/mattigruener","html_url":"https://github.com/mattigruener","followers_url":"https://api.github.com/users/mattigruener/followers","following_url":"https://api.github.com/users/mattigruener/following{/other_user}","gists_url":"https://api.github.com/users/mattigruener/gists{/gist_id}","starred_url":"https://api.github.com/users/mattigruener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattigruener/subscriptions","organizations_url":"https://api.github.com/users/mattigruener/orgs","repos_url":"https://api.github.com/users/mattigruener/repos","events_url":"https://api.github.com/users/mattigruener/events{/privacy}","received_events_url":"https://api.github.com/users/mattigruener/received_events","type":"User","site_admin":false},"body":"Hey John,\r\n\r\nhere's my first stab at implementing `correspondingInput()` for the two shader types. I think it should be pretty close to what we were discussing last week. \r\n\r\nThe multiple outputs of OSLShader nodes are still a little problematic. I did add code that is able to reconnect nodes when a node is deleted in `ScriptNode::deleteNodes` - that should work already.\r\nDragging an OSLShader with multiple outputs onto connections is a little funny, though. Maybe you could test whether the current behavior is what you want. I've been testing with instances of an artificial node that just connect multiple outputs to multiple inputs. I kinda assumed that a node that I drag onto the connections between two other nodes should just make all necessary connections and not just one. The current implementation in `GraphGadget::updateDragReconnectCandidate` doesn't really allow that kind of behavior though, I think.\r\n\r\nAs for the actual metadata that I'm adding in this PR - I guess there'll be a few iterations to get the behavior that people want. I went through all of the nodes and added the tags that I thought make sense, but I might have missed something.\r\n\r\nI'm sure there's a couple of things that you want changed in the implementation too. Let me know what you want revised :)\r\n\r\nMatti.\r\n\r\n","created_at":"2016-11-10T23:37:04Z","updated_at":"2016-11-15T11:32:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f6362a8563cb22fe14c9f0b2a7f773dae71f3fde","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919/commits","review_comments_url":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919/comments","review_comment_url":"https://api.github.com/repos/GafferHQ/gaffer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GafferHQ/gaffer/issues/1919/comments","statuses_url":"https://api.github.com/repos/GafferHQ/gaffer/statuses/33100cc9fd0b75eafdaeb4c90869d1c0fe1b02ca","head":{"label":"mattigruener:correspondingInput","ref":"correspondingInput","sha":"33100cc9fd0b75eafdaeb4c90869d1c0fe1b02ca","user":{"login":"mattigruener","id":19398650,"avatar_url":"https://avatars.githubusercontent.com/u/19398650?v=3","gravatar_id":"","url":"https://api.github.com/users/mattigruener","html_url":"https://github.com/mattigruener","followers_url":"https://api.github.com/users/mattigruener/followers","following_url":"https://api.github.com/users/mattigruener/following{/other_user}","gists_url":"https://api.github.com/users/mattigruener/gists{/gist_id}","starred_url":"https://api.github.com/users/mattigruener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattigruener/subscriptions","organizations_url":"https://api.github.com/users/mattigruener/orgs","repos_url":"https://api.github.com/users/mattigruener/repos","events_url":"https://api.github.com/users/mattigruener/events{/privacy}","received_events_url":"https://api.github.com/users/mattigruener/received_events","type":"User","site_admin":false},"repo":{"id":59069132,"name":"gaffer","full_name":"mattigruener/gaffer","owner":{"login":"mattigruener","id":19398650,"avatar_url":"https://avatars.githubusercontent.com/u/19398650?v=3","gravatar_id":"","url":"https://api.github.com/users/mattigruener","html_url":"https://github.com/mattigruener","followers_url":"https://api.github.com/users/mattigruener/followers","following_url":"https://api.github.com/users/mattigruener/following{/other_user}","gists_url":"https://api.github.com/users/mattigruener/gists{/gist_id}","starred_url":"https://api.github.com/users/mattigruener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattigruener/subscriptions","organizations_url":"https://api.github.com/users/mattigruener/orgs","repos_url":"https://api.github.com/users/mattigruener/repos","events_url":"https://api.github.com/users/mattigruener/events{/privacy}","received_events_url":"https://api.github.com/users/mattigruener/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mattigruener/gaffer","description":"Gaffer is an open source application framework designed specifically for creating tools for use in visual effects production.","fork":true,"url":"https://api.github.com/repos/mattigruener/gaffer","forks_url":"https://api.github.com/repos/mattigruener/gaffer/forks","keys_url":"https://api.github.com/repos/mattigruener/gaffer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mattigruener/gaffer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mattigruener/gaffer/teams","hooks_url":"https://api.github.com/repos/mattigruener/gaffer/hooks","issue_events_url":"https://api.github.com/repos/mattigruener/gaffer/issues/events{/number}","events_url":"https://api.github.com/repos/mattigruener/gaffer/events","assignees_url":"https://api.github.com/repos/mattigruener/gaffer/assignees{/user}","branches_url":"https://api.github.com/repos/mattigruener/gaffer/branches{/branch}","tags_url":"https://api.github.com/repos/mattigruener/gaffer/tags","blobs_url":"https://api.github.com/repos/mattigruener/gaffer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mattigruener/gaffer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mattigruener/gaffer/git/refs{/sha}","trees_url":"https://api.github.com/repos/mattigruener/gaffer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mattigruener/gaffer/statuses/{sha}","languages_url":"https://api.github.com/repos/mattigruener/gaffer/languages","stargazers_url":"https://api.github.com/repos/mattigruener/gaffer/stargazers","contributors_url":"https://api.github.com/repos/mattigruener/gaffer/contributors","subscribers_url":"https://api.github.com/repos/mattigruener/gaffer/subscribers","subscription_url":"https://api.github.com/repos/mattigruener/gaffer/subscription","commits_url":"https://api.github.com/repos/mattigruener/gaffer/commits{/sha}","git_commits_url":"https://api.github.com/repos/mattigruener/gaffer/git/commits{/sha}","comments_url":"https://api.github.com/repos/mattigruener/gaffer/comments{/number}","issue_comment_url":"https://api.github.com/repos/mattigruener/gaffer/issues/comments{/number}","contents_url":"https://api.github.com/repos/mattigruener/gaffer/contents/{+path}","compare_url":"https://api.github.com/repos/mattigruener/gaffer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mattigruener/gaffer/merges","archive_url":"https://api.github.com/repos/mattigruener/gaffer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mattigruener/gaffer/downloads","issues_url":"https://api.github.com/repos/mattigruener/gaffer/issues{/number}","pulls_url":"https://api.github.com/repos/mattigruener/gaffer/pulls{/number}","milestones_url":"https://api.github.com/repos/mattigruener/gaffer/milestones{/number}","notifications_url":"https://api.github.com/repos/mattigruener/gaffer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mattigruener/gaffer/labels{/name}","releases_url":"https://api.github.com/repos/mattigruener/gaffer/releases{/id}","deployments_url":"https://api.github.com/repos/mattigruener/gaffer/deployments","created_at":"2016-05-18T00:37:47Z","updated_at":"2016-05-18T00:37:54Z","pushed_at":"2016-11-15T00:33:46Z","git_url":"git://github.com/mattigruener/gaffer.git","ssh_url":"git@github.com:mattigruener/gaffer.git","clone_url":"https://github.com/mattigruener/gaffer.git","svn_url":"https://github.com/mattigruener/gaffer","homepage":"http://imageengine.github.io/gaffer/","size":108284,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GafferHQ:master","ref":"master","sha":"553e55f04f640950200f8dd13bf4ef20ce96a5a0","user":{"login":"GafferHQ","id":20556043,"avatar_url":"https://avatars.githubusercontent.com/u/20556043?v=3","gravatar_id":"","url":"https://api.github.com/users/GafferHQ","html_url":"https://github.com/GafferHQ","followers_url":"https://api.github.com/users/GafferHQ/followers","following_url":"https://api.github.com/users/GafferHQ/following{/other_user}","gists_url":"https://api.github.com/users/GafferHQ/gists{/gist_id}","starred_url":"https://api.github.com/users/GafferHQ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GafferHQ/subscriptions","organizations_url":"https://api.github.com/users/GafferHQ/orgs","repos_url":"https://api.github.com/users/GafferHQ/repos","events_url":"https://api.github.com/users/GafferHQ/events{/privacy}","received_events_url":"https://api.github.com/users/GafferHQ/received_events","type":"Organization","site_admin":false},"repo":{"id":9043124,"name":"gaffer","full_name":"GafferHQ/gaffer","owner":{"login":"GafferHQ","id":20556043,"avatar_url":"https://avatars.githubusercontent.com/u/20556043?v=3","gravatar_id":"","url":"https://api.github.com/users/GafferHQ","html_url":"https://github.com/GafferHQ","followers_url":"https://api.github.com/users/GafferHQ/followers","following_url":"https://api.github.com/users/GafferHQ/following{/other_user}","gists_url":"https://api.github.com/users/GafferHQ/gists{/gist_id}","starred_url":"https://api.github.com/users/GafferHQ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GafferHQ/subscriptions","organizations_url":"https://api.github.com/users/GafferHQ/orgs","repos_url":"https://api.github.com/users/GafferHQ/repos","events_url":"https://api.github.com/users/GafferHQ/events{/privacy}","received_events_url":"https://api.github.com/users/GafferHQ/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GafferHQ/gaffer","description":"Gaffer is an open source application framework designed specifically for creating tools for use in visual effects production.","fork":false,"url":"https://api.github.com/repos/GafferHQ/gaffer","forks_url":"https://api.github.com/repos/GafferHQ/gaffer/forks","keys_url":"https://api.github.com/repos/GafferHQ/gaffer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GafferHQ/gaffer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GafferHQ/gaffer/teams","hooks_url":"https://api.github.com/repos/GafferHQ/gaffer/hooks","issue_events_url":"https://api.github.com/repos/GafferHQ/gaffer/issues/events{/number}","events_url":"https://api.github.com/repos/GafferHQ/gaffer/events","assignees_url":"https://api.github.com/repos/GafferHQ/gaffer/assignees{/user}","branches_url":"https://api.github.com/repos/GafferHQ/gaffer/branches{/branch}","tags_url":"https://api.github.com/repos/GafferHQ/gaffer/tags","blobs_url":"https://api.github.com/repos/GafferHQ/gaffer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GafferHQ/gaffer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GafferHQ/gaffer/git/refs{/sha}","trees_url":"https://api.github.com/repos/GafferHQ/gaffer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GafferHQ/gaffer/statuses/{sha}","languages_url":"https://api.github.com/repos/GafferHQ/gaffer/languages","stargazers_url":"https://api.github.com/repos/GafferHQ/gaffer/stargazers","contributors_url":"https://api.github.com/repos/GafferHQ/gaffer/contributors","subscribers_url":"https://api.github.com/repos/GafferHQ/gaffer/subscribers","subscription_url":"https://api.github.com/repos/GafferHQ/gaffer/subscription","commits_url":"https://api.github.com/repos/GafferHQ/gaffer/commits{/sha}","git_commits_url":"https://api.github.com/repos/GafferHQ/gaffer/git/commits{/sha}","comments_url":"https://api.github.com/repos/GafferHQ/gaffer/comments{/number}","issue_comment_url":"https://api.github.com/repos/GafferHQ/gaffer/issues/comments{/number}","contents_url":"https://api.github.com/repos/GafferHQ/gaffer/contents/{+path}","compare_url":"https://api.github.com/repos/GafferHQ/gaffer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GafferHQ/gaffer/merges","archive_url":"https://api.github.com/repos/GafferHQ/gaffer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GafferHQ/gaffer/downloads","issues_url":"https://api.github.com/repos/GafferHQ/gaffer/issues{/number}","pulls_url":"https://api.github.com/repos/GafferHQ/gaffer/pulls{/number}","milestones_url":"https://api.github.com/repos/GafferHQ/gaffer/milestones{/number}","notifications_url":"https://api.github.com/repos/GafferHQ/gaffer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GafferHQ/gaffer/labels{/name}","releases_url":"https://api.github.com/repos/GafferHQ/gaffer/releases{/id}","deployments_url":"https://api.github.com/repos/GafferHQ/gaffer/deployments","created_at":"2013-03-27T00:04:53Z","updated_at":"2016-11-10T00:47:17Z","pushed_at":"2016-11-15T00:33:47Z","git_url":"git://github.com/GafferHQ/gaffer.git","ssh_url":"git@github.com:GafferHQ/gaffer.git","clone_url":"https://github.com/GafferHQ/gaffer.git","svn_url":"https://github.com/GafferHQ/gaffer","homepage":"http://www.gafferhq.org","size":111321,"stargazers_count":237,"watchers_count":237,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":92,"mirror_url":null,"open_issues_count":195,"forks":92,"open_issues":195,"watchers":237,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919"},"html":{"href":"https://github.com/GafferHQ/gaffer/pull/1919"},"issue":{"href":"https://api.github.com/repos/GafferHQ/gaffer/issues/1919"},"comments":{"href":"https://api.github.com/repos/GafferHQ/gaffer/issues/1919/comments"},"review_comments":{"href":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919/comments"},"review_comment":{"href":"https://api.github.com/repos/GafferHQ/gaffer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GafferHQ/gaffer/pulls/1919/commits"},"statuses":{"href":"https://api.github.com/repos/GafferHQ/gaffer/statuses/33100cc9fd0b75eafdaeb4c90869d1c0fe1b02ca"}}}}
{"actor":{"display_login":"johnhaddon"}}