)]}'
{"glance/db/simple/api.py":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"d5581dc1df8d8fea4b75799525114cb0ecbe6b77","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        can_see \u003d image[\u0027is_public\u0027] or has_ownership or context.is_admin"},{"line_number":128,"context_line":"        if not can_see:"},{"line_number":129,"context_line":"            continue"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        add \u003d True"},{"line_number":132,"context_line":"        for k, value in filters.iteritems():"},{"line_number":133,"context_line":"            key \u003d k"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FKH8%3D","line":130,"updated":"2012-10-10 15:26:22.000000000","message":"why the newline?","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"8986e74fe48512114821ee1a5edaeef9dad0a74b","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        can_see \u003d image[\u0027is_public\u0027] or has_ownership or context.is_admin"},{"line_number":128,"context_line":"        if not can_see:"},{"line_number":129,"context_line":"            continue"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        add \u003d True"},{"line_number":132,"context_line":"        for k, value in filters.iteritems():"},{"line_number":133,"context_line":"            key \u003d k"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FI28%3D","line":130,"in_reply_to":"AAAALH%2F%2FKH8%3D","updated":"2012-10-12 02:57:28.000000000","message":"I would assume that Mark wanted to visibly separate the logical blocks of code in this loop. I\u0027m fine with it either way.","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"}],"glance/registry/api/v1/images.py":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"d5581dc1df8d8fea4b75799525114cb0ecbe6b77","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        # NOTE(markwash): for backwards compatibility, is_public\u003dTrue for"},{"line_number":64,"context_line":"        # admins actually means \"treat me as if I\u0027m not an admin and show me"},{"line_number":65,"context_line":"        # all my images\""},{"line_number":66,"context_line":"        if context.is_admin and filters.get(\u0027is_public\u0027) is True:"},{"line_number":67,"context_line":"            context.is_admin \u003d False"},{"line_number":68,"context_line":"            del filters[\u0027is_public\u0027]"},{"line_number":69,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FKHo%3D","line":66,"updated":"2012-10-10 15:26:22.000000000","message":"is_public seems a bit confusing, is there a possibility for change in the variable name? (well, not here though :) )","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"}],"glance/tests/functional/db/base.py":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"d5581dc1df8d8fea4b75799525114cb0ecbe6b77","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        for owner_label, owner in owners.items():"},{"line_number":555,"context_line":"            for visibility, is_public in visibilities.items():"},{"line_number":556,"context_line":"                fixtures.append({\u0027name\u0027: \u0027%s, %s\u0027 % (owner_label, visibility),"},{"line_number":557,"context_line":"                                 \u0027owner\u0027: owner, \u0027is_public\u0027: is_public})"},{"line_number":558,"context_line":"        return [build_image_fixture(**fixture) for fixture in fixtures]"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"    def create_images(self, images):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FKHg%3D","line":557,"updated":"2012-10-10 15:26:22.000000000","message":"multi-line dict!, can we have another dict instead\n    extra_fixtures \u003d {\n        \u0027name\u0027: \u0027%s, %s\u0027 % (owner_label, visibility),\n        \u0027owner\u0027: owner, \u0027is_public\u0027: is_public,\n    }\n\nand fixtures.append(extra_fixtures)\n\nor fixtures_extra or something?","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"6f6ec837ec012f696bb0a246fd35c25f686995ac","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        for owner_label, owner in owners.items():"},{"line_number":555,"context_line":"            for visibility, is_public in visibilities.items():"},{"line_number":556,"context_line":"                fixtures.append({\u0027name\u0027: \u0027%s, %s\u0027 % (owner_label, visibility),"},{"line_number":557,"context_line":"                                 \u0027owner\u0027: owner, \u0027is_public\u0027: is_public})"},{"line_number":558,"context_line":"        return [build_image_fixture(**fixture) for fixture in fixtures]"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"    def create_images(self, images):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FIhk%3D","line":557,"in_reply_to":"AAAALH%2F%2FKHg%3D","updated":"2012-10-12 17:38:35.000000000","message":"Sure.","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"d5581dc1df8d8fea4b75799525114cb0ecbe6b77","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                                           filters\u003d{\u0027is_public\u0027: None})"},{"line_number":658,"context_line":"        self.assertEquals(len(images), 5)"},{"line_number":659,"context_line":"        for i in images:"},{"line_number":660,"context_line":"            self.assertTrue(i[\u0027is_public\u0027] or i[\u0027owner\u0027] \u003d\u003d self.tenant1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FKHU%3D","line":660,"updated":"2012-10-10 15:26:22.000000000","message":"I like assertTrue, its saving a line! and seems more intuitive indicating that we are looking for a boolean value","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"8986e74fe48512114821ee1a5edaeef9dad0a74b","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                                           filters\u003d{\u0027is_public\u0027: None})"},{"line_number":658,"context_line":"        self.assertEquals(len(images), 5)"},{"line_number":659,"context_line":"        for i in images:"},{"line_number":660,"context_line":"            self.assertTrue(i[\u0027is_public\u0027] or i[\u0027owner\u0027] \u003d\u003d self.tenant1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FI24%3D","line":660,"updated":"2012-10-12 02:57:28.000000000","message":"Rather than using an \u0027or\u0027 (which could return True for unexpected results), how would you feel about 5 individual assertions?","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"6f6ec837ec012f696bb0a246fd35c25f686995ac","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                                           filters\u003d{\u0027is_public\u0027: None})"},{"line_number":658,"context_line":"        self.assertEquals(len(images), 5)"},{"line_number":659,"context_line":"        for i in images:"},{"line_number":660,"context_line":"            self.assertTrue(i[\u0027is_public\u0027] or i[\u0027owner\u0027] \u003d\u003d self.tenant1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FIhQ%3D","line":660,"in_reply_to":"AAAALH%2F%2FI24%3D","updated":"2012-10-12 17:38:35.000000000","message":"I guess you\u0027re saying \u0027or\u0027 might return true in cases where  \"i[\u0027is_public\u0027] is True\" is False? (assuming the owner is not tenant1) ? Like if is_public were a non-empty string?\n\nI can\u0027t quite figure out how to make 5 separate assertions without depending on the order of the result or making the test much longer. :-(","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"4783ab87ad81cbde2740e6cd06d22e9165aaab0c","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                                           filters\u003d{\u0027is_public\u0027: None})"},{"line_number":658,"context_line":"        self.assertEquals(len(images), 5)"},{"line_number":659,"context_line":"        for i in images:"},{"line_number":660,"context_line":"            self.assertTrue(i[\u0027is_public\u0027] or i[\u0027owner\u0027] \u003d\u003d self.tenant1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FIfQ%3D","line":660,"in_reply_to":"AAAALH%2F%2FIhQ%3D","updated":"2012-10-12 17:59:54.000000000","message":"How about this?\n\n  image_ids \u003d [image[\u0027id\u0027] for image in images]\n  # Use a set to check only for values, not for ordering\n  self.assertEqual(set(image_ids), set(expected_image_ids))\n\n  for image in images:\n      if image[\u0027id\u0027] in expected_public_ids:\n          self.assertTrue(image[\u0027is_public\u0027])\n      else:\n          self.assertEqual(image[\u0027owner\u0027], self.tenant1)","commit_id":"bbefc8790963b963f77faff5b7f20e543851f66d"}]}
