{"action":"created","comment":{"url":"https://api.github.com/repos/praekelt/vxportia/pulls/comments/43010204","id":43010204,"diff_hunk":"@@ -0,0 +1,92 @@\n+\n+from vumi.errors import DispatcherError\n+from vumi.dispatchers.base import BaseDispatchRouter","path":"vxportia/router.py","position":3,"original_position":3,"commit_id":"4a3e3b048070cc203321c846323f830481204123","original_commit_id":"4a3e3b048070cc203321c846323f830481204123","user":{"login":"hodgestar","id":165551,"avatar_url":"https://avatars.githubusercontent.com/u/165551?v=3","gravatar_id":"","url":"https://api.github.com/users/hodgestar","html_url":"https://github.com/hodgestar","followers_url":"https://api.github.com/users/hodgestar/followers","following_url":"https://api.github.com/users/hodgestar/following{/other_user}","gists_url":"https://api.github.com/users/hodgestar/gists{/gist_id}","starred_url":"https://api.github.com/users/hodgestar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hodgestar/subscriptions","organizations_url":"https://api.github.com/users/hodgestar/orgs","repos_url":"https://api.github.com/users/hodgestar/repos","events_url":"https://api.github.com/users/hodgestar/events{/privacy}","received_events_url":"https://api.github.com/users/hodgestar/received_events","type":"User","site_admin":false},"body":"You need to use the things from `vumi.dispatchers.endpoint_dispatchers` because that supplies `connector_name` and the older base things don't. Using the `transport_name` is problematic because if there is a load balancer or other dispatcher connected instead of the transport being connected directly, then the transport name will not be what's expected or the correct RabbitMQ connector to send the message to.","created_at":"2015-10-26T15:44:21Z","updated_at":"2015-10-26T15:44:21Z","html_url":"https://github.com/praekelt/vxportia/pull/1#discussion_r43010204","pull_request_url":"https://api.github.com/repos/praekelt/vxportia/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/praekelt/vxportia/pulls/comments/43010204"},"html":{"href":"https://github.com/praekelt/vxportia/pull/1#discussion_r43010204"},"pull_request":{"href":"https://api.github.com/repos/praekelt/vxportia/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/praekelt/vxportia/pulls/1","id":48542539,"html_url":"https://github.com/praekelt/vxportia/pull/1","diff_url":"https://github.com/praekelt/vxportia/pull/1.diff","patch_url":"https://github.com/praekelt/vxportia/pull/1.patch","issue_url":"https://api.github.com/repos/praekelt/vxportia/issues/1","number":1,"state":"open","locked":false,"title":"Implement Vumi Dispatcher Router for Portia.","user":{"login":"smn","id":1065,"avatar_url":"https://avatars.githubusercontent.com/u/1065?v=3","gravatar_id":"","url":"https://api.github.com/users/smn","html_url":"https://github.com/smn","followers_url":"https://api.github.com/users/smn/followers","following_url":"https://api.github.com/users/smn/following{/other_user}","gists_url":"https://api.github.com/users/smn/gists{/gist_id}","starred_url":"https://api.github.com/users/smn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smn/subscriptions","organizations_url":"https://api.github.com/users/smn/orgs","repos_url":"https://api.github.com/users/smn/repos","events_url":"https://api.github.com/users/smn/events{/privacy}","received_events_url":"https://api.github.com/users/smn/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-10-23T05:01:33Z","updated_at":"2015-10-26T15:44:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"61ecf64a63a293456b4154f87fb56e98eb448ecb","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/praekelt/vxportia/pulls/1/commits","review_comments_url":"https://api.github.com/repos/praekelt/vxportia/pulls/1/comments","review_comment_url":"https://api.github.com/repos/praekelt/vxportia/pulls/comments{/number}","comments_url":"https://api.github.com/repos/praekelt/vxportia/issues/1/comments","statuses_url":"https://api.github.com/repos/praekelt/vxportia/statuses/4a3e3b048070cc203321c846323f830481204123","head":{"label":"praekelt:feature/issue-1-router","ref":"feature/issue-1-router","sha":"4a3e3b048070cc203321c846323f830481204123","user":{"login":"praekelt","id":81810,"avatar_url":"https://avatars.githubusercontent.com/u/81810?v=3","gravatar_id":"","url":"https://api.github.com/users/praekelt","html_url":"https://github.com/praekelt","followers_url":"https://api.github.com/users/praekelt/followers","following_url":"https://api.github.com/users/praekelt/following{/other_user}","gists_url":"https://api.github.com/users/praekelt/gists{/gist_id}","starred_url":"https://api.github.com/users/praekelt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/praekelt/subscriptions","organizations_url":"https://api.github.com/users/praekelt/orgs","repos_url":"https://api.github.com/users/praekelt/repos","events_url":"https://api.github.com/users/praekelt/events{/privacy}","received_events_url":"https://api.github.com/users/praekelt/received_events","type":"Organization","site_admin":false},"repo":{"id":44698504,"name":"vxportia","full_name":"praekelt/vxportia","owner":{"login":"praekelt","id":81810,"avatar_url":"https://avatars.githubusercontent.com/u/81810?v=3","gravatar_id":"","url":"https://api.github.com/users/praekelt","html_url":"https://github.com/praekelt","followers_url":"https://api.github.com/users/praekelt/followers","following_url":"https://api.github.com/users/praekelt/following{/other_user}","gists_url":"https://api.github.com/users/praekelt/gists{/gist_id}","starred_url":"https://api.github.com/users/praekelt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/praekelt/subscriptions","organizations_url":"https://api.github.com/users/praekelt/orgs","repos_url":"https://api.github.com/users/praekelt/repos","events_url":"https://api.github.com/users/praekelt/events{/privacy}","received_events_url":"https://api.github.com/users/praekelt/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/praekelt/vxportia","description":"A Vumi dispatcher router for Portia","fork":false,"url":"https://api.github.com/repos/praekelt/vxportia","forks_url":"https://api.github.com/repos/praekelt/vxportia/forks","keys_url":"https://api.github.com/repos/praekelt/vxportia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/praekelt/vxportia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/praekelt/vxportia/teams","hooks_url":"https://api.github.com/repos/praekelt/vxportia/hooks","issue_events_url":"https://api.github.com/repos/praekelt/vxportia/issues/events{/number}","events_url":"https://api.github.com/repos/praekelt/vxportia/events","assignees_url":"https://api.github.com/repos/praekelt/vxportia/assignees{/user}","branches_url":"https://api.github.com/repos/praekelt/vxportia/branches{/branch}","tags_url":"https://api.github.com/repos/praekelt/vxportia/tags","blobs_url":"https://api.github.com/repos/praekelt/vxportia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/praekelt/vxportia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/praekelt/vxportia/git/refs{/sha}","trees_url":"https://api.github.com/repos/praekelt/vxportia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/praekelt/vxportia/statuses/{sha}","languages_url":"https://api.github.com/repos/praekelt/vxportia/languages","stargazers_url":"https://api.github.com/repos/praekelt/vxportia/stargazers","contributors_url":"https://api.github.com/repos/praekelt/vxportia/contributors","subscribers_url":"https://api.github.com/repos/praekelt/vxportia/subscribers","subscription_url":"https://api.github.com/repos/praekelt/vxportia/subscription","commits_url":"https://api.github.com/repos/praekelt/vxportia/commits{/sha}","git_commits_url":"https://api.github.com/repos/praekelt/vxportia/git/commits{/sha}","comments_url":"https://api.github.com/repos/praekelt/vxportia/comments{/number}","issue_comment_url":"https://api.github.com/repos/praekelt/vxportia/issues/comments{/number}","contents_url":"https://api.github.com/repos/praekelt/vxportia/contents/{+path}","compare_url":"https://api.github.com/repos/praekelt/vxportia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/praekelt/vxportia/merges","archive_url":"https://api.github.com/repos/praekelt/vxportia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/praekelt/vxportia/downloads","issues_url":"https://api.github.com/repos/praekelt/vxportia/issues{/number}","pulls_url":"https://api.github.com/repos/praekelt/vxportia/pulls{/number}","milestones_url":"https://api.github.com/repos/praekelt/vxportia/milestones{/number}","notifications_url":"https://api.github.com/repos/praekelt/vxportia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/praekelt/vxportia/labels{/name}","releases_url":"https://api.github.com/repos/praekelt/vxportia/releases{/id}","created_at":"2015-10-21T19:14:27Z","updated_at":"2015-10-23T10:44:31Z","pushed_at":"2015-10-23T10:45:35Z","git_url":"git://github.com/praekelt/vxportia.git","ssh_url":"git@github.com:praekelt/vxportia.git","clone_url":"https://github.com/praekelt/vxportia.git","svn_url":"https://github.com/praekelt/vxportia","homepage":"http://portiadb.readthedocs.org/","size":0,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"develop"}},"base":{"label":"praekelt:develop","ref":"develop","sha":"ba06f83d723068fec9e5328dc7b94222a29fc915","user":{"login":"praekelt","id":81810,"avatar_url":"https://avatars.githubusercontent.com/u/81810?v=3","gravatar_id":"","url":"https://api.github.com/users/praekelt","html_url":"https://github.com/praekelt","followers_url":"https://api.github.com/users/praekelt/followers","following_url":"https://api.github.com/users/praekelt/following{/other_user}","gists_url":"https://api.github.com/users/praekelt/gists{/gist_id}","starred_url":"https://api.github.com/users/praekelt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/praekelt/subscriptions","organizations_url":"https://api.github.com/users/praekelt/orgs","repos_url":"https://api.github.com/users/praekelt/repos","events_url":"https://api.github.com/users/praekelt/events{/privacy}","received_events_url":"https://api.github.com/users/praekelt/received_events","type":"Organization","site_admin":false},"repo":{"id":44698504,"name":"vxportia","full_name":"praekelt/vxportia","owner":{"login":"praekelt","id":81810,"avatar_url":"https://avatars.githubusercontent.com/u/81810?v=3","gravatar_id":"","url":"https://api.github.com/users/praekelt","html_url":"https://github.com/praekelt","followers_url":"https://api.github.com/users/praekelt/followers","following_url":"https://api.github.com/users/praekelt/following{/other_user}","gists_url":"https://api.github.com/users/praekelt/gists{/gist_id}","starred_url":"https://api.github.com/users/praekelt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/praekelt/subscriptions","organizations_url":"https://api.github.com/users/praekelt/orgs","repos_url":"https://api.github.com/users/praekelt/repos","events_url":"https://api.github.com/users/praekelt/events{/privacy}","received_events_url":"https://api.github.com/users/praekelt/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/praekelt/vxportia","description":"A Vumi dispatcher router for Portia","fork":false,"url":"https://api.github.com/repos/praekelt/vxportia","forks_url":"https://api.github.com/repos/praekelt/vxportia/forks","keys_url":"https://api.github.com/repos/praekelt/vxportia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/praekelt/vxportia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/praekelt/vxportia/teams","hooks_url":"https://api.github.com/repos/praekelt/vxportia/hooks","issue_events_url":"https://api.github.com/repos/praekelt/vxportia/issues/events{/number}","events_url":"https://api.github.com/repos/praekelt/vxportia/events","assignees_url":"https://api.github.com/repos/praekelt/vxportia/assignees{/user}","branches_url":"https://api.github.com/repos/praekelt/vxportia/branches{/branch}","tags_url":"https://api.github.com/repos/praekelt/vxportia/tags","blobs_url":"https://api.github.com/repos/praekelt/vxportia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/praekelt/vxportia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/praekelt/vxportia/git/refs{/sha}","trees_url":"https://api.github.com/repos/praekelt/vxportia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/praekelt/vxportia/statuses/{sha}","languages_url":"https://api.github.com/repos/praekelt/vxportia/languages","stargazers_url":"https://api.github.com/repos/praekelt/vxportia/stargazers","contributors_url":"https://api.github.com/repos/praekelt/vxportia/contributors","subscribers_url":"https://api.github.com/repos/praekelt/vxportia/subscribers","subscription_url":"https://api.github.com/repos/praekelt/vxportia/subscription","commits_url":"https://api.github.com/repos/praekelt/vxportia/commits{/sha}","git_commits_url":"https://api.github.com/repos/praekelt/vxportia/git/commits{/sha}","comments_url":"https://api.github.com/repos/praekelt/vxportia/comments{/number}","issue_comment_url":"https://api.github.com/repos/praekelt/vxportia/issues/comments{/number}","contents_url":"https://api.github.com/repos/praekelt/vxportia/contents/{+path}","compare_url":"https://api.github.com/repos/praekelt/vxportia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/praekelt/vxportia/merges","archive_url":"https://api.github.com/repos/praekelt/vxportia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/praekelt/vxportia/downloads","issues_url":"https://api.github.com/repos/praekelt/vxportia/issues{/number}","pulls_url":"https://api.github.com/repos/praekelt/vxportia/pulls{/number}","milestones_url":"https://api.github.com/repos/praekelt/vxportia/milestones{/number}","notifications_url":"https://api.github.com/repos/praekelt/vxportia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/praekelt/vxportia/labels{/name}","releases_url":"https://api.github.com/repos/praekelt/vxportia/releases{/id}","created_at":"2015-10-21T19:14:27Z","updated_at":"2015-10-23T10:44:31Z","pushed_at":"2015-10-23T10:45:35Z","git_url":"git://github.com/praekelt/vxportia.git","ssh_url":"git@github.com:praekelt/vxportia.git","clone_url":"https://github.com/praekelt/vxportia.git","svn_url":"https://github.com/praekelt/vxportia","homepage":"http://portiadb.readthedocs.org/","size":0,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/praekelt/vxportia/pulls/1"},"html":{"href":"https://github.com/praekelt/vxportia/pull/1"},"issue":{"href":"https://api.github.com/repos/praekelt/vxportia/issues/1"},"comments":{"href":"https://api.github.com/repos/praekelt/vxportia/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/praekelt/vxportia/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/praekelt/vxportia/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/praekelt/vxportia/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/praekelt/vxportia/statuses/4a3e3b048070cc203321c846323f830481204123"}}}}