)]}'
{"neutron/db/model_base.py":[{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"d0fb8f2a24383a4cdaa7176d9cd7103487605e44","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        constraints \u003d []"},{"line_number":33,"context_line":"    return [[c.name for c in constraint.columns]"},{"line_number":34,"context_line":"            for constraint in constraints"},{"line_number":35,"context_line":"            if isinstance(constraint, sa.UniqueConstraint)]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# The shim below is used to deprecate the old contents."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_37e015fa","line":35,"range":{"start_line":35,"start_character":37,"end_line":35,"end_character":41},"updated":"2016-08-30 04:41:25.000000000","message":"sa is undefined.","commit_id":"0f7e9a72177aad0b70ecc5da09579dcd0568c1f4"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"b7fc737143f5900a3e35b014bbf186419a12f767","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        constraints \u003d []"},{"line_number":33,"context_line":"    return [[c.name for c in constraint.columns]"},{"line_number":34,"context_line":"            for constraint in constraints"},{"line_number":35,"context_line":"            if isinstance(constraint, sa.UniqueConstraint)]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# The shim below is used to deprecate the old contents."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_e8640aba","line":35,"range":{"start_line":35,"start_character":37,"end_line":35,"end_character":41},"in_reply_to":"fa7ab95a_37e015fa","updated":"2016-08-30 06:10:37.000000000","message":"Done","commit_id":"0f7e9a72177aad0b70ecc5da09579dcd0568c1f4"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"8501df7b436215e5800df4d6a97122c91be735d9","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutron.common import _deprecate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_deprecate._moved_global(\u0027HasTenant\u0027, new_module\u003dlib_mb, new_name\u003d\u0027HasProject\u0027)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_unique_keys(model):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_59bac0c1","line":22,"updated":"2016-08-31 14:14:58.000000000","message":"What about all the pieces like: HasId, HasStatus, HasProject* etc? Probably some projects still use this reference. [1]\n\n[1] http://codesearch.openstack.org/?q\u003dHasId\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d","commit_id":"60ae70dde196191217c8c46242be283c7fd30039"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"899a1ca821abc3f012a3bf9e28ed9232e4237ba3","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutron.common import _deprecate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_deprecate._moved_global(\u0027HasTenant\u0027, new_module\u003dlib_mb, new_name\u003d\u0027HasProject\u0027)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_unique_keys(model):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_b412f156","line":22,"in_reply_to":"fa7ab95a_593560f5","updated":"2016-08-31 14:20:19.000000000","message":"OK, Thank you for explanation.","commit_id":"60ae70dde196191217c8c46242be283c7fd30039"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ff5db9f98d084ea0ee389b6f73b5c4d5a391ea99","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutron.common import _deprecate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_deprecate._moved_global(\u0027HasTenant\u0027, new_module\u003dlib_mb, new_name\u003d\u0027HasProject\u0027)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_unique_keys(model):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_199038ec","line":22,"in_reply_to":"fa7ab95a_59bac0c1","updated":"2016-08-31 14:18:12.000000000","message":"Isn\u0027t it handled in line 35?","commit_id":"60ae70dde196191217c8c46242be283c7fd30039"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"6bace5f81c801536e29a7e10f6963344c3b0ce03","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutron.common import _deprecate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_deprecate._moved_global(\u0027HasTenant\u0027, new_module\u003dlib_mb, new_name\u003d\u0027HasProject\u0027)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_unique_keys(model):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_593560f5","line":22,"in_reply_to":"fa7ab95a_59bac0c1","updated":"2016-08-31 14:19:44.000000000","message":"They are taken care of by line 35 because their names are the same in the lib. Only HasTenant needs special deprecation here because it is HasProject in lib.","commit_id":"60ae70dde196191217c8c46242be283c7fd30039"}]}
