)]}'
{"keystone/tests/unit/token/test_fernet_provider.py":[{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"65a8a8105c5308144a7ffcff8fb09651d9808e6d","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        with open(evil_file, \u0027w\u0027):"},{"line_number":411,"context_line":"            pass"},{"line_number":412,"context_line":"        keys \u003d fernet_utils.load_keys()"},{"line_number":413,"context_line":"        self.assertEqual(2, len(keys))"},{"line_number":414,"context_line":"        self.assertTrue(len(keys[0]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_2c00c365","line":413,"updated":"2015-07-27 18:43:16.000000000","message":"Why 2 ?","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"72242c1d26ca2d97b741648a361d21b6c2d0b5c7","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        with open(evil_file, \u0027w\u0027):"},{"line_number":411,"context_line":"            pass"},{"line_number":412,"context_line":"        keys \u003d fernet_utils.load_keys()"},{"line_number":413,"context_line":"        self.assertEqual(2, len(keys))"},{"line_number":414,"context_line":"        self.assertTrue(len(keys[0]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_4fb741d8","line":413,"in_reply_to":"3a50d1a3_2c00c365","updated":"2015-07-27 19:07:31.000000000","message":"the KeyRepository fixture creates a primary and a staged key","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"}],"keystone/token/providers/fernet/utils.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"72242c1d26ca2d97b741648a361d21b6c2d0b5c7","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                key_id \u003d int(filename)"},{"line_number":179,"context_line":"            except ValueError:"},{"line_number":180,"context_line":"                LOG.warn(_LI(\u0027Ignoring invalid file in key_repository: %s\u0027),"},{"line_number":181,"context_line":"                         path)"},{"line_number":182,"context_line":"                pass"},{"line_number":183,"context_line":"            else:"},{"line_number":184,"context_line":"                key_files[key_id] \u003d path"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_0f093984","line":181,"updated":"2015-07-27 19:07:31.000000000","message":"_LI shouldn\u0027t be passed to warn -- use _LW\n\nalso, perhaps the warning should include a comment about how the filename was expected to be an integer?","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8f316806a309451feccb7bb1b4ff3d522b041415","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                key_id \u003d int(filename)"},{"line_number":179,"context_line":"            except ValueError:"},{"line_number":180,"context_line":"                LOG.warn(_LI(\u0027Ignoring invalid file in key_repository: %s\u0027),"},{"line_number":181,"context_line":"                         path)"},{"line_number":182,"context_line":"                pass"},{"line_number":183,"context_line":"            else:"},{"line_number":184,"context_line":"                key_files[key_id] \u003d path"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_750bead6","line":181,"in_reply_to":"3a50d1a3_0f093984","updated":"2015-07-27 19:42:44.000000000","message":"doh! i didn\u0027t notice that","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"f0932ee6d3a1d27b68bf2f608377ed7eb123ec43","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            except ValueError:"},{"line_number":180,"context_line":"                LOG.warn(_LI(\u0027Ignoring invalid file in key_repository: %s\u0027),"},{"line_number":181,"context_line":"                         path)"},{"line_number":182,"context_line":"                pass"},{"line_number":183,"context_line":"            else:"},{"line_number":184,"context_line":"                key_files[key_id] \u003d path"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_4cd18f56","line":182,"updated":"2015-07-27 18:43:09.000000000","message":"(nit) pass is not needed here","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"65a8a8105c5308144a7ffcff8fb09651d9808e6d","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            except ValueError:"},{"line_number":180,"context_line":"                LOG.warn(_LI(\u0027Ignoring invalid file in key_repository: %s\u0027),"},{"line_number":181,"context_line":"                         path)"},{"line_number":182,"context_line":"                pass"},{"line_number":183,"context_line":"            else:"},{"line_number":184,"context_line":"                key_files[key_id] \u003d path"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_0ce4e7dd","line":182,"updated":"2015-07-27 18:43:16.000000000","message":"I don\u0027t think we need this pass statement here, since we already have a valid comman here inside this except block (the LOG.warn...)","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"72242c1d26ca2d97b741648a361d21b6c2d0b5c7","unresolved":false,"context_lines":[{"line_number":247,"context_line":"                    key_id \u003d int(filename)"},{"line_number":248,"context_line":"                except ValueError:"},{"line_number":249,"context_line":"                    LOG.warn("},{"line_number":250,"context_line":"                        _LI(\u0027Ignoring invalid file in key_repository: %s\u0027),"},{"line_number":251,"context_line":"                        path)"},{"line_number":252,"context_line":"                    pass"},{"line_number":253,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_0f8059be","line":250,"updated":"2015-07-27 19:07:31.000000000","message":"same","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"f0932ee6d3a1d27b68bf2f608377ed7eb123ec43","unresolved":false,"context_lines":[{"line_number":249,"context_line":"                    LOG.warn("},{"line_number":250,"context_line":"                        _LI(\u0027Ignoring invalid file in key_repository: %s\u0027),"},{"line_number":251,"context_line":"                        path)"},{"line_number":252,"context_line":"                    pass"},{"line_number":253,"context_line":"                else:"},{"line_number":254,"context_line":"                    keys[key_id] \u003d key_file.read()"},{"line_number":255,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_2ccc43ba","line":252,"updated":"2015-07-27 18:43:09.000000000","message":"(nit) pass is not needed here","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"65a8a8105c5308144a7ffcff8fb09651d9808e6d","unresolved":false,"context_lines":[{"line_number":249,"context_line":"                    LOG.warn("},{"line_number":250,"context_line":"                        _LI(\u0027Ignoring invalid file in key_repository: %s\u0027),"},{"line_number":251,"context_line":"                        path)"},{"line_number":252,"context_line":"                    pass"},{"line_number":253,"context_line":"                else:"},{"line_number":254,"context_line":"                    keys[key_id] \u003d key_file.read()"},{"line_number":255,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_2ce9a3b7","line":252,"updated":"2015-07-27 18:43:16.000000000","message":"Same comment as above.","commit_id":"e76df3ff96dae6f2f6c208a6b0660de312d14c18"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"27718283222394d1be7d14eb483b9f3313df6475","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            try:"},{"line_number":178,"context_line":"                key_id \u003d int(filename)"},{"line_number":179,"context_line":"            except ValueError:"},{"line_number":180,"context_line":"                pass"},{"line_number":181,"context_line":"            else:"},{"line_number":182,"context_line":"                key_files[key_id] \u003d path"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_b720219b","line":180,"updated":"2015-07-29 20:14:01.000000000","message":"that works too","commit_id":"7223bb1c035d98ebb1a49e115f05cb69ad7928d4"}]}
