{"action":"created","comment":{"url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/comments/27305591","id":27305591,"diff_hunk":"@@ -0,0 +1,238 @@\n+#! /usr/bin/perl -w\n+# vim:sw=8:ts=8:et:nowrap\n+use strict;\n+use utf8;\n+\n+use FindBin;\n+chdir $FindBin::Bin;\n+use lib \"$FindBin::Bin\";\n+use lib \"$FindBin::Bin/../commonlib/perllib\";\n+\n+use mySociety::Config;\n+mySociety::Config::set_file(\"$FindBin::Bin/../conf/general\");\n+\n+my $parldata = mySociety::Config::get('RAWDATA');\n+my $lastupdatedir = mySociety::Config::get('INCLUDESPATH') . \"../../../xml2db/\";\n+\n+use DBI;\n+use HTML::Entities;\n+use File::Find;\n+use Getopt::Long;\n+use Data::Dumper;\n+use File::Slurp::Unicode;\n+\n+use Uncapitalise;\n+use JSON::XS;\n+\n+use vars qw($motion_count $policy_count $vote_count %motions_seen);\n+my $json = JSON::XS->new->latin1;\n+\n+my $dsn = 'DBI:mysql:database=' . mySociety::Config::get('TWFY_DB_NAME'). ':host=' . mySociety::Config::get('TWFY_DB_HOST');\n+my $dbh = DBI->connect($dsn, mySociety::Config::get('TWFY_DB_USER'), mySociety::Config::get('TWFY_DB_PASS'), { RaiseError => 1, PrintError => 0 });\n+\n+my $policycheck = $dbh->prepare(\"SELECT policy_id from policies where policy_id = ?\");\n+my $policyadd = $dbh->prepare(\"INSERT INTO policies (policy_id, title, description) VALUES (?, ?, ?)\");\n+my $policyupdate = $dbh->prepare(\"UPDATE policies SET title = ?, description = ? WHERE policy_id = ?\");\n+\n+my $motioncheck = $dbh->prepare(\"SELECT division_title, gid, direction, yes_text, no_text FROM policydivisions WHERE division_id = ? AND policy_id = ?\");\n+\n+my $motionadd = $dbh->prepare(\"INSERT INTO policydivisions (division_id, policy_id, house, direction, division_title, yes_text, no_text, division_date, division_number, gid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\");\n+my $motionupdate = $dbh->prepare(\"UPDATE policydivisions SET gid = ?, division_title = ?, yes_text = ?, no_text = ?, direction = ? WHERE division_id = ? AND policy_id = ?\");\n+\n+my $votecheck = $dbh->prepare(\"SELECT member_id, vote FROM memberdivisionvotes WHERE division_id = ?\");\n+my $voteadd = $dbh->prepare(\"INSERT INTO memberdivisionvotes (member_id, division_id, vote) VALUES (?, ?, ?)\");\n+my $voteupdate= $dbh->prepare(\"UPDATE memberdivisionvotes SET vote = ? WHERE member_id = ? AND division_id = ?\");\n+\n+my $motionsdir = $parldata . \"scrapedjson/policy-motions/\";\n+\n+$motion_count = $policy_count = $vote_count = 0;\n+\n+foreach my $dreamid (\n+    363,\n+    810,\n+    811,\n+    826,\n+    837,\n+    975,\n+    984,\n+    996,\n+    1027,\n+    1030,\n+    1049,\n+    1050,\n+    1051,\n+    1052,\n+    1053,\n+    1065,\n+    1071,\n+    1074,\n+    1079,\n+    1084,\n+    1087,\n+    1105,\n+    1109,\n+    1110,\n+    1113,\n+    1120,\n+    1124,\n+    1132,\n+    1136,\n+    6667,\n+    6670,\n+    6671,\n+    6672,\n+    6673,\n+    6674,\n+    6676,\n+    6677,\n+    6678,\n+    6679,\n+    6680,\n+    6681,\n+    6682,\n+    6683,\n+    6684,\n+    6685,\n+    6686,\n+    6687,\n+    6688,\n+    6690,\n+    6691,\n+    6692,\n+    6693,\n+    6694,\n+    6695,\n+    6696,\n+    6697,\n+    6698,\n+    6699,\n+    6702,\n+    6703,\n+    6704,\n+    6705,\n+    6706,\n+    6707,\n+    6708,\n+    6709,\n+    6710,\n+    6711,\n+    6715,\n+    6716,\n+    6718,\n+    6719,\n+    6720,\n+    6721\n+) {\n+    my $policy_file = $motionsdir . $dreamid . \".json\";\n+    if ( ! -f $policy_file ) {\n+        warn \"no json file for policy $dreamid at $policy_file\";\n+        next;\n+    }\n+    my $policy_json = read_file($policy_file);\n+    my $policy = $json->decode($policy_json);\n+    my $motions = @{ $policy->{aspects} };\n+\n+\n+    my $curr_policy = $dbh->selectrow_hashref($policycheck, {}, $dreamid);\n+    if ( $curr_policy ) {\n+        $policyupdate->execute($policy->{title} || '', $policy->{text}, $dreamid);\n+    } else {\n+        $policyadd->execute($dreamid, $policy->{title} || '', $policy->{text});\n+    }\n+\n+    $policy_count++;\n+\n+    for my $motion ( @{ $policy->{aspects} } ) {\n+        $motion_count++;\n+        my ($motion_num, $house);\n+        ($motion_num = $motion->{motion}->{id}) =~ s/pw-\\d+-\\d+-\\d+-(\\d+)/$1/;\n+        ($house = $motion->{motion}->{organization_id}) =~ s/uk.parliament.(\\w+)/$1/;\n+\n+        my $sources = $motion->{motion}->{sources};\n+        my $gid = '';\n+        foreach my $source (@$sources) {\n+            if ( defined $source->{gid} ) {\n+                $gid = $source->{gid};\n+            }\n+        }\n+\n+        my $motion_id = $motion->{motion}->{id} . \"-$house\";\n+\n+        # JSON is UTF-8, the database and TWFY are not\n+        my $text = Encode::encode( 'iso-8859-1', $motion->{motion}->{text} );\n+        my $curr_motion = $dbh->selectrow_hashref($motioncheck, {}, $motion_id, $dreamid);\n+\n+        if ( $curr_motion ) {\n+            $curr_motion->{direction} ||= '';\n+            $motion->{direction} ||= '';\n+            $curr_motion->{yes_text} ||= '';\n+            $curr_motion->{no_text} ||= '';\n+        }\n+\n+        my $yes_text = '';\n+        my $no_text = '';\n+        if ( $motion->{motion}->{actions} ) {\n+            $yes_text = $motion->{motion}->{actions}->{yes};\n+            $no_text = $motion->{motion}->{actions}->{no};\n+        }\n+\n+        if ( !defined $curr_motion ) {\n+            my $r = $motionadd->execute($motion_id, $dreamid, $house, $motion->{direction}, $motion->{motion}->{text}, $yes_text, $no_text, $motion->{motion}->{date}, $motion_num, $gid);\n+            unless ( $r > 0 ) {\n+                warn \"problem creating policymotion for $dreamid, skipping motions\\n\";\n+                next;\n+            }\n+        } elsif ( $curr_motion->{division_title} ne $text ||\n+                  $curr_motion->{gid} ne $gid ||\n+                  $curr_motion->{yes_text} ne $yes_text ||\n+                  $curr_motion->{no_text} ne $no_text ||\n+                  $motion->{direction} ne $curr_motion->{direction}\n+        ) {\n+            my $r = $motionupdate->execute($gid, $text, $yes_text, $no_text, $motion->{direction}, $motion_id, $dreamid);\n+            unless ( $r > 0 ) {\n+                warn \"problem updating division $motion_id from \" . $curr_motion->{division_title} . \" to $text AND \" . $curr_motion->{gid} . \" to $gid\\n\";\n+            }\n+        }\n+\n+        # some divisions are in more than one policy but the votes don't change so\n+        # just skip them\n+        if ( $motions_seen{$motion_id} ) {\n+            #print \"seen $motion_id already, skipping\\n\";\n+            next;\n+        } else {\n+            $motions_seen{$motion_id} = 1;\n+        }\n+\n+        my $curr_votes = $dbh->selectall_hashref($votecheck, 'member_id', {}, $motion_id);\n+        unless ($curr_votes) {","path":"scripts/json2db.pl","position":207,"original_position":207,"commit_id":"7a8496db248d6d488485eaa2672ffa285ebdd284","original_commit_id":"7a8496db248d6d488485eaa2672ffa285ebdd284","user":{"login":"dracos","id":154364,"avatar_url":"https://avatars.githubusercontent.com/u/154364?v=3","gravatar_id":"","url":"https://api.github.com/users/dracos","html_url":"https://github.com/dracos","followers_url":"https://api.github.com/users/dracos/followers","following_url":"https://api.github.com/users/dracos/following{/other_user}","gists_url":"https://api.github.com/users/dracos/gists{/gist_id}","starred_url":"https://api.github.com/users/dracos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dracos/subscriptions","organizations_url":"https://api.github.com/users/dracos/orgs","repos_url":"https://api.github.com/users/dracos/repos","events_url":"https://api.github.com/users/dracos/events{/privacy}","received_events_url":"https://api.github.com/users/dracos/received_events","type":"User","site_admin":false},"body":"This will always be true, as `{}` is true, I think?","created_at":"2015-03-27T15:54:39Z","updated_at":"2015-03-27T15:54:39Z","html_url":"https://github.com/mysociety/theyworkforyou/pull/790#discussion_r27305591","pull_request_url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790","_links":{"self":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/comments/27305591"},"html":{"href":"https://github.com/mysociety/theyworkforyou/pull/790#discussion_r27305591"},"pull_request":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790"}}},"pull_request":{"url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790","id":31817116,"html_url":"https://github.com/mysociety/theyworkforyou/pull/790","diff_url":"https://github.com/mysociety/theyworkforyou/pull/790.diff","patch_url":"https://github.com/mysociety/theyworkforyou/pull/790.patch","issue_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues/790","number":790,"state":"open","locked":false,"title":"Add a page to display the individual votes that make up a Policy","user":{"login":"struan","id":5310,"avatar_url":"https://avatars.githubusercontent.com/u/5310?v=3","gravatar_id":"","url":"https://api.github.com/users/struan","html_url":"https://github.com/struan","followers_url":"https://api.github.com/users/struan/followers","following_url":"https://api.github.com/users/struan/following{/other_user}","gists_url":"https://api.github.com/users/struan/gists{/gist_id}","starred_url":"https://api.github.com/users/struan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/struan/subscriptions","organizations_url":"https://api.github.com/users/struan/orgs","repos_url":"https://api.github.com/users/struan/repos","events_url":"https://api.github.com/users/struan/events{/privacy}","received_events_url":"https://api.github.com/users/struan/received_events","type":"User","site_admin":false},"body":"Add a /divisions page for each MP that details how they voted on all of the individual votes that make up a policy.\r\n\r\nIncludes import of this data from PW generated JSON files.","created_at":"2015-03-24T11:23:46Z","updated_at":"2015-03-27T15:54:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cb98485c331c51732468d440a8c4671c0c5b4de0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790/commits","review_comments_url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790/comments","review_comment_url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues/790/comments","statuses_url":"https://api.github.com/repos/mysociety/theyworkforyou/statuses/7a8496db248d6d488485eaa2672ffa285ebdd284","head":{"label":"mysociety:individual-votes","ref":"individual-votes","sha":"7a8496db248d6d488485eaa2672ffa285ebdd284","user":{"login":"mysociety","id":141338,"avatar_url":"https://avatars.githubusercontent.com/u/141338?v=3","gravatar_id":"","url":"https://api.github.com/users/mysociety","html_url":"https://github.com/mysociety","followers_url":"https://api.github.com/users/mysociety/followers","following_url":"https://api.github.com/users/mysociety/following{/other_user}","gists_url":"https://api.github.com/users/mysociety/gists{/gist_id}","starred_url":"https://api.github.com/users/mysociety/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mysociety/subscriptions","organizations_url":"https://api.github.com/users/mysociety/orgs","repos_url":"https://api.github.com/users/mysociety/repos","events_url":"https://api.github.com/users/mysociety/events{/privacy}","received_events_url":"https://api.github.com/users/mysociety/received_events","type":"Organization","site_admin":false},"repo":{"id":500795,"name":"theyworkforyou","full_name":"mysociety/theyworkforyou","owner":{"login":"mysociety","id":141338,"avatar_url":"https://avatars.githubusercontent.com/u/141338?v=3","gravatar_id":"","url":"https://api.github.com/users/mysociety","html_url":"https://github.com/mysociety","followers_url":"https://api.github.com/users/mysociety/followers","following_url":"https://api.github.com/users/mysociety/following{/other_user}","gists_url":"https://api.github.com/users/mysociety/gists{/gist_id}","starred_url":"https://api.github.com/users/mysociety/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mysociety/subscriptions","organizations_url":"https://api.github.com/users/mysociety/orgs","repos_url":"https://api.github.com/users/mysociety/repos","events_url":"https://api.github.com/users/mysociety/events{/privacy}","received_events_url":"https://api.github.com/users/mysociety/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mysociety/theyworkforyou","description":"Keeping tabs on the UK's parliaments and assemblies","fork":false,"url":"https://api.github.com/repos/mysociety/theyworkforyou","forks_url":"https://api.github.com/repos/mysociety/theyworkforyou/forks","keys_url":"https://api.github.com/repos/mysociety/theyworkforyou/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mysociety/theyworkforyou/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mysociety/theyworkforyou/teams","hooks_url":"https://api.github.com/repos/mysociety/theyworkforyou/hooks","issue_events_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues/events{/number}","events_url":"https://api.github.com/repos/mysociety/theyworkforyou/events","assignees_url":"https://api.github.com/repos/mysociety/theyworkforyou/assignees{/user}","branches_url":"https://api.github.com/repos/mysociety/theyworkforyou/branches{/branch}","tags_url":"https://api.github.com/repos/mysociety/theyworkforyou/tags","blobs_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/refs{/sha}","trees_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mysociety/theyworkforyou/statuses/{sha}","languages_url":"https://api.github.com/repos/mysociety/theyworkforyou/languages","stargazers_url":"https://api.github.com/repos/mysociety/theyworkforyou/stargazers","contributors_url":"https://api.github.com/repos/mysociety/theyworkforyou/contributors","subscribers_url":"https://api.github.com/repos/mysociety/theyworkforyou/subscribers","subscription_url":"https://api.github.com/repos/mysociety/theyworkforyou/subscription","commits_url":"https://api.github.com/repos/mysociety/theyworkforyou/commits{/sha}","git_commits_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/commits{/sha}","comments_url":"https://api.github.com/repos/mysociety/theyworkforyou/comments{/number}","issue_comment_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues/comments{/number}","contents_url":"https://api.github.com/repos/mysociety/theyworkforyou/contents/{+path}","compare_url":"https://api.github.com/repos/mysociety/theyworkforyou/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mysociety/theyworkforyou/merges","archive_url":"https://api.github.com/repos/mysociety/theyworkforyou/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mysociety/theyworkforyou/downloads","issues_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues{/number}","pulls_url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls{/number}","milestones_url":"https://api.github.com/repos/mysociety/theyworkforyou/milestones{/number}","notifications_url":"https://api.github.com/repos/mysociety/theyworkforyou/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mysociety/theyworkforyou/labels{/name}","releases_url":"https://api.github.com/repos/mysociety/theyworkforyou/releases{/id}","created_at":"2010-02-03T15:22:29Z","updated_at":"2015-03-25T16:46:30Z","pushed_at":"2015-03-27T15:46:53Z","git_url":"git://github.com/mysociety/theyworkforyou.git","ssh_url":"git@github.com:mysociety/theyworkforyou.git","clone_url":"https://github.com/mysociety/theyworkforyou.git","svn_url":"https://github.com/mysociety/theyworkforyou","homepage":"http://www.theyworkforyou.com/","size":100827,"stargazers_count":54,"watchers_count":54,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":20,"mirror_url":null,"open_issues_count":339,"forks":20,"open_issues":339,"watchers":54,"default_branch":"master"}},"base":{"label":"mysociety:master","ref":"master","sha":"f859d1531a8ba60ff6298ec7ab2f58ba987eb974","user":{"login":"mysociety","id":141338,"avatar_url":"https://avatars.githubusercontent.com/u/141338?v=3","gravatar_id":"","url":"https://api.github.com/users/mysociety","html_url":"https://github.com/mysociety","followers_url":"https://api.github.com/users/mysociety/followers","following_url":"https://api.github.com/users/mysociety/following{/other_user}","gists_url":"https://api.github.com/users/mysociety/gists{/gist_id}","starred_url":"https://api.github.com/users/mysociety/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mysociety/subscriptions","organizations_url":"https://api.github.com/users/mysociety/orgs","repos_url":"https://api.github.com/users/mysociety/repos","events_url":"https://api.github.com/users/mysociety/events{/privacy}","received_events_url":"https://api.github.com/users/mysociety/received_events","type":"Organization","site_admin":false},"repo":{"id":500795,"name":"theyworkforyou","full_name":"mysociety/theyworkforyou","owner":{"login":"mysociety","id":141338,"avatar_url":"https://avatars.githubusercontent.com/u/141338?v=3","gravatar_id":"","url":"https://api.github.com/users/mysociety","html_url":"https://github.com/mysociety","followers_url":"https://api.github.com/users/mysociety/followers","following_url":"https://api.github.com/users/mysociety/following{/other_user}","gists_url":"https://api.github.com/users/mysociety/gists{/gist_id}","starred_url":"https://api.github.com/users/mysociety/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mysociety/subscriptions","organizations_url":"https://api.github.com/users/mysociety/orgs","repos_url":"https://api.github.com/users/mysociety/repos","events_url":"https://api.github.com/users/mysociety/events{/privacy}","received_events_url":"https://api.github.com/users/mysociety/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mysociety/theyworkforyou","description":"Keeping tabs on the UK's parliaments and assemblies","fork":false,"url":"https://api.github.com/repos/mysociety/theyworkforyou","forks_url":"https://api.github.com/repos/mysociety/theyworkforyou/forks","keys_url":"https://api.github.com/repos/mysociety/theyworkforyou/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mysociety/theyworkforyou/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mysociety/theyworkforyou/teams","hooks_url":"https://api.github.com/repos/mysociety/theyworkforyou/hooks","issue_events_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues/events{/number}","events_url":"https://api.github.com/repos/mysociety/theyworkforyou/events","assignees_url":"https://api.github.com/repos/mysociety/theyworkforyou/assignees{/user}","branches_url":"https://api.github.com/repos/mysociety/theyworkforyou/branches{/branch}","tags_url":"https://api.github.com/repos/mysociety/theyworkforyou/tags","blobs_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/refs{/sha}","trees_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mysociety/theyworkforyou/statuses/{sha}","languages_url":"https://api.github.com/repos/mysociety/theyworkforyou/languages","stargazers_url":"https://api.github.com/repos/mysociety/theyworkforyou/stargazers","contributors_url":"https://api.github.com/repos/mysociety/theyworkforyou/contributors","subscribers_url":"https://api.github.com/repos/mysociety/theyworkforyou/subscribers","subscription_url":"https://api.github.com/repos/mysociety/theyworkforyou/subscription","commits_url":"https://api.github.com/repos/mysociety/theyworkforyou/commits{/sha}","git_commits_url":"https://api.github.com/repos/mysociety/theyworkforyou/git/commits{/sha}","comments_url":"https://api.github.com/repos/mysociety/theyworkforyou/comments{/number}","issue_comment_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues/comments{/number}","contents_url":"https://api.github.com/repos/mysociety/theyworkforyou/contents/{+path}","compare_url":"https://api.github.com/repos/mysociety/theyworkforyou/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mysociety/theyworkforyou/merges","archive_url":"https://api.github.com/repos/mysociety/theyworkforyou/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mysociety/theyworkforyou/downloads","issues_url":"https://api.github.com/repos/mysociety/theyworkforyou/issues{/number}","pulls_url":"https://api.github.com/repos/mysociety/theyworkforyou/pulls{/number}","milestones_url":"https://api.github.com/repos/mysociety/theyworkforyou/milestones{/number}","notifications_url":"https://api.github.com/repos/mysociety/theyworkforyou/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mysociety/theyworkforyou/labels{/name}","releases_url":"https://api.github.com/repos/mysociety/theyworkforyou/releases{/id}","created_at":"2010-02-03T15:22:29Z","updated_at":"2015-03-25T16:46:30Z","pushed_at":"2015-03-27T15:46:53Z","git_url":"git://github.com/mysociety/theyworkforyou.git","ssh_url":"git@github.com:mysociety/theyworkforyou.git","clone_url":"https://github.com/mysociety/theyworkforyou.git","svn_url":"https://github.com/mysociety/theyworkforyou","homepage":"http://www.theyworkforyou.com/","size":100827,"stargazers_count":54,"watchers_count":54,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":20,"mirror_url":null,"open_issues_count":339,"forks":20,"open_issues":339,"watchers":54,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790"},"html":{"href":"https://github.com/mysociety/theyworkforyou/pull/790"},"issue":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/issues/790"},"comments":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/issues/790/comments"},"review_comments":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790/comments"},"review_comment":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/pulls/790/commits"},"statuses":{"href":"https://api.github.com/repos/mysociety/theyworkforyou/statuses/7a8496db248d6d488485eaa2672ffa285ebdd284"}}}}