{"action":"created","comment":{"url":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/comments/171410526","pull_request_review_id":100259044,"id":171410526,"diff_hunk":"@@ -154,3 +154,105 @@ class Meta:\n     BAModel.create_table(read_capacity_units=1, write_capacity_units=1)\n     BAModel('pkey', flag=True).save()\n     assert (0, 0) == migrate_boolean_attributes(BAModel, ['flag'], allow_rate_limited_scan_without_consumed_capacity=True)\n+\n+\n+@pytest.mark.ddblocal\n+def test_legacy_boolean_attribute_deserialization_compatibility(ddb_url):","path":"pynamodb/tests/integration/test_migration.py","position":7,"original_position":7,"commit_id":"8354c64868c78dcaa04b701b9645090f7eadd166","original_commit_id":"8354c64868c78dcaa04b701b9645090f7eadd166","user":{"login":"jeremy-lyft","id":1082773,"avatar_url":"https://avatars0.githubusercontent.com/u/1082773?v=4","gravatar_id":"","url":"https://api.github.com/users/jeremy-lyft","html_url":"https://github.com/jeremy-lyft","followers_url":"https://api.github.com/users/jeremy-lyft/followers","following_url":"https://api.github.com/users/jeremy-lyft/following{/other_user}","gists_url":"https://api.github.com/users/jeremy-lyft/gists{/gist_id}","starred_url":"https://api.github.com/users/jeremy-lyft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeremy-lyft/subscriptions","organizations_url":"https://api.github.com/users/jeremy-lyft/orgs","repos_url":"https://api.github.com/users/jeremy-lyft/repos","events_url":"https://api.github.com/users/jeremy-lyft/events{/privacy}","received_events_url":"https://api.github.com/users/jeremy-lyft/received_events","type":"User","site_admin":false},"body":"you can probably pytest.mark.parametrize those two tests ","created_at":"2018-02-28T22:44:40Z","updated_at":"2018-02-28T22:44:40Z","html_url":"https://github.com/pynamodb/PynamoDB/pull/450#discussion_r171410526","pull_request_url":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/comments/171410526"},"html":{"href":"https://github.com/pynamodb/PynamoDB/pull/450#discussion_r171410526"},"pull_request":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450"}}},"pull_request":{"url":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450","id":171803496,"html_url":"https://github.com/pynamodb/PynamoDB/pull/450","diff_url":"https://github.com/pynamodb/PynamoDB/pull/450.diff","patch_url":"https://github.com/pynamodb/PynamoDB/pull/450.patch","issue_url":"https://api.github.com/repos/pynamodb/PynamoDB/issues/450","number":450,"state":"open","locked":false,"title":"Use attr.get_value(value) when deserialize","user":{"login":"betamoo","id":11067229,"avatar_url":"https://avatars3.githubusercontent.com/u/11067229?v=4","gravatar_id":"","url":"https://api.github.com/users/betamoo","html_url":"https://github.com/betamoo","followers_url":"https://api.github.com/users/betamoo/followers","following_url":"https://api.github.com/users/betamoo/following{/other_user}","gists_url":"https://api.github.com/users/betamoo/gists{/gist_id}","starred_url":"https://api.github.com/users/betamoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/betamoo/subscriptions","organizations_url":"https://api.github.com/users/betamoo/orgs","repos_url":"https://api.github.com/users/betamoo/repos","events_url":"https://api.github.com/users/betamoo/events{/privacy}","received_events_url":"https://api.github.com/users/betamoo/received_events","type":"User","site_admin":false},"body":"Change update & update_item to use attr.get_value(value) in deserialization.\r\n\r\nThe PR https://github.com/pynamodb/PynamoDB/pull/149 introduced ```attr.get_value(value)``` for backward compatibility between LBA and BA, and used it in ```model.from_raw_data ``` but not in ```model.update_item``` (nor ```model.update```) causing code like https://gist.github.com/betamoo/1fb15692d6fa74b9ddacfd4965632b26 to fail","created_at":"2018-02-27T22:28:43Z","updated_at":"2018-02-28T22:44:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9d9b9ed214e39cae0a77672c77a16a88078aaff8","assignee":{"login":"harleyk","id":50288,"avatar_url":"https://avatars0.githubusercontent.com/u/50288?v=4","gravatar_id":"","url":"https://api.github.com/users/harleyk","html_url":"https://github.com/harleyk","followers_url":"https://api.github.com/users/harleyk/followers","following_url":"https://api.github.com/users/harleyk/following{/other_user}","gists_url":"https://api.github.com/users/harleyk/gists{/gist_id}","starred_url":"https://api.github.com/users/harleyk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harleyk/subscriptions","organizations_url":"https://api.github.com/users/harleyk/orgs","repos_url":"https://api.github.com/users/harleyk/repos","events_url":"https://api.github.com/users/harleyk/events{/privacy}","received_events_url":"https://api.github.com/users/harleyk/received_events","type":"User","site_admin":false},"assignees":[{"login":"harleyk","id":50288,"avatar_url":"https://avatars0.githubusercontent.com/u/50288?v=4","gravatar_id":"","url":"https://api.github.com/users/harleyk","html_url":"https://github.com/harleyk","followers_url":"https://api.github.com/users/harleyk/followers","following_url":"https://api.github.com/users/harleyk/following{/other_user}","gists_url":"https://api.github.com/users/harleyk/gists{/gist_id}","starred_url":"https://api.github.com/users/harleyk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harleyk/subscriptions","organizations_url":"https://api.github.com/users/harleyk/orgs","repos_url":"https://api.github.com/users/harleyk/repos","events_url":"https://api.github.com/users/harleyk/events{/privacy}","received_events_url":"https://api.github.com/users/harleyk/received_events","type":"User","site_admin":false},{"login":"garrettheel","id":637005,"avatar_url":"https://avatars0.githubusercontent.com/u/637005?v=4","gravatar_id":"","url":"https://api.github.com/users/garrettheel","html_url":"https://github.com/garrettheel","followers_url":"https://api.github.com/users/garrettheel/followers","following_url":"https://api.github.com/users/garrettheel/following{/other_user}","gists_url":"https://api.github.com/users/garrettheel/gists{/gist_id}","starred_url":"https://api.github.com/users/garrettheel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garrettheel/subscriptions","organizations_url":"https://api.github.com/users/garrettheel/orgs","repos_url":"https://api.github.com/users/garrettheel/repos","events_url":"https://api.github.com/users/garrettheel/events{/privacy}","received_events_url":"https://api.github.com/users/garrettheel/received_events","type":"User","site_admin":false},{"login":"jpinner-lyft","id":12147597,"avatar_url":"https://avatars2.githubusercontent.com/u/12147597?v=4","gravatar_id":"","url":"https://api.github.com/users/jpinner-lyft","html_url":"https://github.com/jpinner-lyft","followers_url":"https://api.github.com/users/jpinner-lyft/followers","following_url":"https://api.github.com/users/jpinner-lyft/following{/other_user}","gists_url":"https://api.github.com/users/jpinner-lyft/gists{/gist_id}","starred_url":"https://api.github.com/users/jpinner-lyft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpinner-lyft/subscriptions","organizations_url":"https://api.github.com/users/jpinner-lyft/orgs","repos_url":"https://api.github.com/users/jpinner-lyft/repos","events_url":"https://api.github.com/users/jpinner-lyft/events{/privacy}","received_events_url":"https://api.github.com/users/jpinner-lyft/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450/commits","review_comments_url":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450/comments","review_comment_url":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pynamodb/PynamoDB/issues/450/comments","statuses_url":"https://api.github.com/repos/pynamodb/PynamoDB/statuses/8354c64868c78dcaa04b701b9645090f7eadd166","head":{"label":"betamoo:LegacyBooleanAttribute_correct_deserialization","ref":"LegacyBooleanAttribute_correct_deserialization","sha":"8354c64868c78dcaa04b701b9645090f7eadd166","user":{"login":"betamoo","id":11067229,"avatar_url":"https://avatars3.githubusercontent.com/u/11067229?v=4","gravatar_id":"","url":"https://api.github.com/users/betamoo","html_url":"https://github.com/betamoo","followers_url":"https://api.github.com/users/betamoo/followers","following_url":"https://api.github.com/users/betamoo/following{/other_user}","gists_url":"https://api.github.com/users/betamoo/gists{/gist_id}","starred_url":"https://api.github.com/users/betamoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/betamoo/subscriptions","organizations_url":"https://api.github.com/users/betamoo/orgs","repos_url":"https://api.github.com/users/betamoo/repos","events_url":"https://api.github.com/users/betamoo/events{/privacy}","received_events_url":"https://api.github.com/users/betamoo/received_events","type":"User","site_admin":false},"repo":{"id":113113947,"name":"PynamoDB","full_name":"betamoo/PynamoDB","owner":{"login":"betamoo","id":11067229,"avatar_url":"https://avatars3.githubusercontent.com/u/11067229?v=4","gravatar_id":"","url":"https://api.github.com/users/betamoo","html_url":"https://github.com/betamoo","followers_url":"https://api.github.com/users/betamoo/followers","following_url":"https://api.github.com/users/betamoo/following{/other_user}","gists_url":"https://api.github.com/users/betamoo/gists{/gist_id}","starred_url":"https://api.github.com/users/betamoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/betamoo/subscriptions","organizations_url":"https://api.github.com/users/betamoo/orgs","repos_url":"https://api.github.com/users/betamoo/repos","events_url":"https://api.github.com/users/betamoo/events{/privacy}","received_events_url":"https://api.github.com/users/betamoo/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/betamoo/PynamoDB","description":"A pythonic interface to Amazon's DynamoDB","fork":true,"url":"https://api.github.com/repos/betamoo/PynamoDB","forks_url":"https://api.github.com/repos/betamoo/PynamoDB/forks","keys_url":"https://api.github.com/repos/betamoo/PynamoDB/keys{/key_id}","collaborators_url":"https://api.github.com/repos/betamoo/PynamoDB/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/betamoo/PynamoDB/teams","hooks_url":"https://api.github.com/repos/betamoo/PynamoDB/hooks","issue_events_url":"https://api.github.com/repos/betamoo/PynamoDB/issues/events{/number}","events_url":"https://api.github.com/repos/betamoo/PynamoDB/events","assignees_url":"https://api.github.com/repos/betamoo/PynamoDB/assignees{/user}","branches_url":"https://api.github.com/repos/betamoo/PynamoDB/branches{/branch}","tags_url":"https://api.github.com/repos/betamoo/PynamoDB/tags","blobs_url":"https://api.github.com/repos/betamoo/PynamoDB/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/betamoo/PynamoDB/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/betamoo/PynamoDB/git/refs{/sha}","trees_url":"https://api.github.com/repos/betamoo/PynamoDB/git/trees{/sha}","statuses_url":"https://api.github.com/repos/betamoo/PynamoDB/statuses/{sha}","languages_url":"https://api.github.com/repos/betamoo/PynamoDB/languages","stargazers_url":"https://api.github.com/repos/betamoo/PynamoDB/stargazers","contributors_url":"https://api.github.com/repos/betamoo/PynamoDB/contributors","subscribers_url":"https://api.github.com/repos/betamoo/PynamoDB/subscribers","subscription_url":"https://api.github.com/repos/betamoo/PynamoDB/subscription","commits_url":"https://api.github.com/repos/betamoo/PynamoDB/commits{/sha}","git_commits_url":"https://api.github.com/repos/betamoo/PynamoDB/git/commits{/sha}","comments_url":"https://api.github.com/repos/betamoo/PynamoDB/comments{/number}","issue_comment_url":"https://api.github.com/repos/betamoo/PynamoDB/issues/comments{/number}","contents_url":"https://api.github.com/repos/betamoo/PynamoDB/contents/{+path}","compare_url":"https://api.github.com/repos/betamoo/PynamoDB/compare/{base}...{head}","merges_url":"https://api.github.com/repos/betamoo/PynamoDB/merges","archive_url":"https://api.github.com/repos/betamoo/PynamoDB/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/betamoo/PynamoDB/downloads","issues_url":"https://api.github.com/repos/betamoo/PynamoDB/issues{/number}","pulls_url":"https://api.github.com/repos/betamoo/PynamoDB/pulls{/number}","milestones_url":"https://api.github.com/repos/betamoo/PynamoDB/milestones{/number}","notifications_url":"https://api.github.com/repos/betamoo/PynamoDB/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/betamoo/PynamoDB/labels{/name}","releases_url":"https://api.github.com/repos/betamoo/PynamoDB/releases{/id}","deployments_url":"https://api.github.com/repos/betamoo/PynamoDB/deployments","created_at":"2017-12-05T01:07:50Z","updated_at":"2017-12-05T01:07:52Z","pushed_at":"2018-02-28T21:05:34Z","git_url":"git://github.com/betamoo/PynamoDB.git","ssh_url":"git@github.com:betamoo/PynamoDB.git","clone_url":"https://github.com/betamoo/PynamoDB.git","svn_url":"https://github.com/betamoo/PynamoDB","homepage":"http://pynamodb.readthedocs.io","size":1497,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pynamodb:master","ref":"master","sha":"9f942886f2c3471ba1b5c5cd87a77e472efb07be","user":{"login":"pynamodb","id":27022537,"avatar_url":"https://avatars2.githubusercontent.com/u/27022537?v=4","gravatar_id":"","url":"https://api.github.com/users/pynamodb","html_url":"https://github.com/pynamodb","followers_url":"https://api.github.com/users/pynamodb/followers","following_url":"https://api.github.com/users/pynamodb/following{/other_user}","gists_url":"https://api.github.com/users/pynamodb/gists{/gist_id}","starred_url":"https://api.github.com/users/pynamodb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pynamodb/subscriptions","organizations_url":"https://api.github.com/users/pynamodb/orgs","repos_url":"https://api.github.com/users/pynamodb/repos","events_url":"https://api.github.com/users/pynamodb/events{/privacy}","received_events_url":"https://api.github.com/users/pynamodb/received_events","type":"Organization","site_admin":false},"repo":{"id":16058979,"name":"PynamoDB","full_name":"pynamodb/PynamoDB","owner":{"login":"pynamodb","id":27022537,"avatar_url":"https://avatars2.githubusercontent.com/u/27022537?v=4","gravatar_id":"","url":"https://api.github.com/users/pynamodb","html_url":"https://github.com/pynamodb","followers_url":"https://api.github.com/users/pynamodb/followers","following_url":"https://api.github.com/users/pynamodb/following{/other_user}","gists_url":"https://api.github.com/users/pynamodb/gists{/gist_id}","starred_url":"https://api.github.com/users/pynamodb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pynamodb/subscriptions","organizations_url":"https://api.github.com/users/pynamodb/orgs","repos_url":"https://api.github.com/users/pynamodb/repos","events_url":"https://api.github.com/users/pynamodb/events{/privacy}","received_events_url":"https://api.github.com/users/pynamodb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pynamodb/PynamoDB","description":"A pythonic interface to Amazon's DynamoDB","fork":false,"url":"https://api.github.com/repos/pynamodb/PynamoDB","forks_url":"https://api.github.com/repos/pynamodb/PynamoDB/forks","keys_url":"https://api.github.com/repos/pynamodb/PynamoDB/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pynamodb/PynamoDB/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pynamodb/PynamoDB/teams","hooks_url":"https://api.github.com/repos/pynamodb/PynamoDB/hooks","issue_events_url":"https://api.github.com/repos/pynamodb/PynamoDB/issues/events{/number}","events_url":"https://api.github.com/repos/pynamodb/PynamoDB/events","assignees_url":"https://api.github.com/repos/pynamodb/PynamoDB/assignees{/user}","branches_url":"https://api.github.com/repos/pynamodb/PynamoDB/branches{/branch}","tags_url":"https://api.github.com/repos/pynamodb/PynamoDB/tags","blobs_url":"https://api.github.com/repos/pynamodb/PynamoDB/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pynamodb/PynamoDB/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pynamodb/PynamoDB/git/refs{/sha}","trees_url":"https://api.github.com/repos/pynamodb/PynamoDB/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pynamodb/PynamoDB/statuses/{sha}","languages_url":"https://api.github.com/repos/pynamodb/PynamoDB/languages","stargazers_url":"https://api.github.com/repos/pynamodb/PynamoDB/stargazers","contributors_url":"https://api.github.com/repos/pynamodb/PynamoDB/contributors","subscribers_url":"https://api.github.com/repos/pynamodb/PynamoDB/subscribers","subscription_url":"https://api.github.com/repos/pynamodb/PynamoDB/subscription","commits_url":"https://api.github.com/repos/pynamodb/PynamoDB/commits{/sha}","git_commits_url":"https://api.github.com/repos/pynamodb/PynamoDB/git/commits{/sha}","comments_url":"https://api.github.com/repos/pynamodb/PynamoDB/comments{/number}","issue_comment_url":"https://api.github.com/repos/pynamodb/PynamoDB/issues/comments{/number}","contents_url":"https://api.github.com/repos/pynamodb/PynamoDB/contents/{+path}","compare_url":"https://api.github.com/repos/pynamodb/PynamoDB/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pynamodb/PynamoDB/merges","archive_url":"https://api.github.com/repos/pynamodb/PynamoDB/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pynamodb/PynamoDB/downloads","issues_url":"https://api.github.com/repos/pynamodb/PynamoDB/issues{/number}","pulls_url":"https://api.github.com/repos/pynamodb/PynamoDB/pulls{/number}","milestones_url":"https://api.github.com/repos/pynamodb/PynamoDB/milestones{/number}","notifications_url":"https://api.github.com/repos/pynamodb/PynamoDB/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pynamodb/PynamoDB/labels{/name}","releases_url":"https://api.github.com/repos/pynamodb/PynamoDB/releases{/id}","deployments_url":"https://api.github.com/repos/pynamodb/PynamoDB/deployments","created_at":"2014-01-20T02:18:35Z","updated_at":"2018-02-27T14:59:04Z","pushed_at":"2018-02-28T21:05:36Z","git_url":"git://github.com/pynamodb/PynamoDB.git","ssh_url":"git@github.com:pynamodb/PynamoDB.git","clone_url":"https://github.com/pynamodb/PynamoDB.git","svn_url":"https://github.com/pynamodb/PynamoDB","homepage":"http://pynamodb.readthedocs.io","size":1450,"stargazers_count":600,"watchers_count":600,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":160,"mirror_url":null,"archived":false,"open_issues_count":76,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":160,"open_issues":76,"watchers":600,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450"},"html":{"href":"https://github.com/pynamodb/PynamoDB/pull/450"},"issue":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/issues/450"},"comments":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/issues/450/comments"},"review_comments":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450/comments"},"review_comment":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/pulls/450/commits"},"statuses":{"href":"https://api.github.com/repos/pynamodb/PynamoDB/statuses/8354c64868c78dcaa04b701b9645090f7eadd166"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"jeremy-lyft"}}