)]}'
{"swift/common/storage_policy.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"70b52f2e194fcc003a1857c6d2a565658a18dcc8","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            index \u003d 0"},{"line_number":104,"context_line":"        return self.pols_by_index.get(int(index))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def get_policies(self):"},{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":"        Class level accessor for policy collection."},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FsX0%3D","line":106,"updated":"2014-01-03 10:49:44.000000000","message":"Please see my comment in swift/obj/updater.py","commit_id":"38b71726788086e4a17f389cb0ccd173d30b23f5"}],"swift/obj/updater.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"70b52f2e194fcc003a1857c6d2a565658a18dcc8","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                    self.successes \u003d 0"},{"line_number":91,"context_line":"                    self.failures \u003d 0"},{"line_number":92,"context_line":"                    forkbegin \u003d time.time()"},{"line_number":93,"context_line":"                    for policy in self.policies.get_policies():"},{"line_number":94,"context_line":"                        self.object_sweep(os.path.join(self.devices, device),"},{"line_number":95,"context_line":"                                          policy.idx)"},{"line_number":96,"context_line":"                    elapsed \u003d time.time() - forkbegin"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FsYI%3D","line":93,"updated":"2014-01-03 10:49:44.000000000","message":"Why not just using \"for policy in self.policies:\" ?","commit_id":"38b71726788086e4a17f389cb0ccd173d30b23f5"},{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"a648a013ebc950691b57aba372fea68634a74701","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                    self.successes \u003d 0"},{"line_number":91,"context_line":"                    self.failures \u003d 0"},{"line_number":92,"context_line":"                    forkbegin \u003d time.time()"},{"line_number":93,"context_line":"                    for policy in self.policies.get_policies():"},{"line_number":94,"context_line":"                        self.object_sweep(os.path.join(self.devices, device),"},{"line_number":95,"context_line":"                                          policy.idx)"},{"line_number":96,"context_line":"                    elapsed \u003d time.time() - forkbegin"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F2P0%3D","line":93,"in_reply_to":"AAAAT3%2F%2FsYI%3D","updated":"2014-01-07 18:27:06.000000000","message":"thanks Christian, just my \u0027newness\u0027 to Python is the only reason for the extra non-sense here.  I\u0027ll take care of it.  thanks!","commit_id":"38b71726788086e4a17f389cb0ccd173d30b23f5"},{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"4cb53e8b0a38613d6a9eb797c9976576bc58eb5c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                    self.successes \u003d 0"},{"line_number":91,"context_line":"                    self.failures \u003d 0"},{"line_number":92,"context_line":"                    forkbegin \u003d time.time()"},{"line_number":93,"context_line":"                    for policy in self.policies.get_policies():"},{"line_number":94,"context_line":"                        self.object_sweep(os.path.join(self.devices, device),"},{"line_number":95,"context_line":"                                          policy.idx)"},{"line_number":96,"context_line":"                    elapsed \u003d time.time() - forkbegin"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F2MU%3D","line":93,"in_reply_to":"AAAAUH%2F%2F2P0%3D","updated":"2014-01-07 18:45:05.000000000","message":"wait sorry... there was a reason for this and it has to do with how test policies are passed to the controllers.  storage policy.py has both class and module functions used either by functional or test code:\n\nself.policies \u003d storage_policies or swift.common.storage_policy\n\nwhere test code passes in policies and therefore uses class methods so your suggestion would work.  However functional code defines self.policies as the module and needs module methods so I made matching class and module methods so that the updater (or replicator has this same LOC) can enumerate policies regardless either way.  Do you see a better solution?","commit_id":"38b71726788086e4a17f389cb0ccd173d30b23f5"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"70b52f2e194fcc003a1857c6d2a565658a18dcc8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                self.logger.warn("},{"line_number":125,"context_line":"                    _(\u0027Skipping %s as it is not mounted\u0027), device)"},{"line_number":126,"context_line":"                continue"},{"line_number":127,"context_line":"            for policy in self.policies.get_policies():"},{"line_number":128,"context_line":"                self.object_sweep(os.path.join(self.devices, device),"},{"line_number":129,"context_line":"                                  policy.idx)"},{"line_number":130,"context_line":"        elapsed \u003d time.time() - begin"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FsYE%3D","line":127,"updated":"2014-01-03 10:49:44.000000000","message":"Same as above","commit_id":"38b71726788086e4a17f389cb0ccd173d30b23f5"}],"test/unit/obj/test_updater.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"44b731d877ae182f4949621bbfddbf8f7ea9c43e","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        self.assert_(not os.path.exists(older_op_path))"},{"line_number":242,"context_line":"        self.assert_(os.path.exists(op_path))"},{"line_number":243,"context_line":"        #self.assertEqual(cu.logger.get_increment_counts(),"},{"line_number":244,"context_line":"        #                 {\u0027failures\u0027: 1, \u0027unlinks\u0027: 1})"},{"line_number":245,"context_line":"        self.assertEqual(None,"},{"line_number":246,"context_line":"                         pickle.load(open(op_path)).get(\u0027successes\u0027))"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2BVk8%3D","line":244,"updated":"2014-01-27 22:11:11.000000000","message":"Is there something wrong with this test? It passes on my machine.\n\nIf it\u0027s invalid now, let\u0027s just delete it instead of leaving it commented out.","commit_id":"1ed5f32bdce508880479899f3cdb75bc9f530fca"},{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"184a223d13627004ee5a0e695897988f74f54edc","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        self.assert_(not os.path.exists(older_op_path))"},{"line_number":242,"context_line":"        self.assert_(os.path.exists(op_path))"},{"line_number":243,"context_line":"        #self.assertEqual(cu.logger.get_increment_counts(),"},{"line_number":244,"context_line":"        #                 {\u0027failures\u0027: 1, \u0027unlinks\u0027: 1})"},{"line_number":245,"context_line":"        self.assertEqual(None,"},{"line_number":246,"context_line":"                         pickle.load(open(op_path)).get(\u0027successes\u0027))"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2BVh8%3D","line":244,"in_reply_to":"AAAAUH%2F%2BVk8%3D","updated":"2014-01-27 22:18:39.000000000","message":"Nope, had it out while I was fixing things up and just forgot to put it back in..... will so so immediately.  Thanks Sam","commit_id":"1ed5f32bdce508880479899f3cdb75bc9f530fca"}]}
