)]}'
{"cinder/api/validation/validators.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"57573795785200efce8d27f2449cb09c2b596f6b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"class FormatChecker(jsonschema.FormatChecker):"},{"line_number":107,"context_line":"    \"\"\"A FormatChecker can output the message from cause exception"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"       We need understandable validation errors messages for users. When a"},{"line_number":110,"context_line":"       custom checker has an exception, the FormatChecker will output a"},{"line_number":111,"context_line":"       readable message provided by the checker."},{"line_number":112,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_600c5d42","line":109,"range":{"start_line":109,"start_character":4,"end_line":109,"end_character":6},"updated":"2017-10-29 21:20:56.000000000","message":"If you do another update, remove these extra leading spaces.","commit_id":"7bbd65f7c6a2e5c71a9adfd620d5b428e3cfff8a"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f2c08d1958bab526269c4f98b5cd7b6f75250346","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def check(self, instance, format):"},{"line_number":115,"context_line":"        \"\"\"Check whether the instance conforms to the given format."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :argument instance: the instance to check"},{"line_number":118,"context_line":"        :type: any primitive type (str, number, bool)"},{"line_number":119,"context_line":"        :argument str format: the format that instance should conform to"},{"line_number":120,"context_line":"        :raises: :exc:`FormatError` if instance does not conform to format"},{"line_number":121,"context_line":"        \"\"\""},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        if format not in self.checkers:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_85c34038","line":120,"range":{"start_line":117,"start_character":0,"end_line":120,"end_character":74},"updated":"2017-11-05 01:33:32.000000000","message":"This looks like a copy paste error.","commit_id":"ad8bae6b75d4c50b7f116bfd59586e2baa241700"}],"cinder/tests/unit/api/test_api_validation.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"57573795785200efce8d27f2449cb09c2b596f6b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import fixtures"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":"from six.moves import http_client as http"},{"line_number":21,"context_line":"import sys"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from cinder.api.openstack import api_version_request as api_version"},{"line_number":24,"context_line":"from cinder.api import validation"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_4009612f","line":21,"updated":"2017-10-29 21:20:56.000000000","message":"sys should be above with system imports.","commit_id":"7bbd65f7c6a2e5c71a9adfd620d5b428e3cfff8a"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f2c08d1958bab526269c4f98b5cd7b6f75250346","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        except Exception as ex:"},{"line_number":108,"context_line":"            self.fail(\u0027An unexpected exception happens: %s\u0027 % ex)"},{"line_number":109,"context_line":"        else:"},{"line_number":110,"context_line":"            self.fail(\u0027Any exception does not happen.\u0027)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"class RequiredDisableTestCase(APIValidationTestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_65be04af","line":110,"range":{"start_line":110,"start_character":37,"end_line":110,"end_character":41},"updated":"2017-11-05 01:33:32.000000000","message":"did","commit_id":"ad8bae6b75d4c50b7f116bfd59586e2baa241700"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"c8c50239a16e9c0c2f9b083b00e00ae2ab68be75","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            _get_all_chars))"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        r \u003d parameter_types._build_regex_range(ws\u003dFalse)"},{"line_number":48,"context_line":"        self.assertEqual(r, re.escape(\u0027!\u0027) + \u0027-\u0027 + re.escape(\u0027~\u0027))"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # if we allow whitespace the range starts earlier"},{"line_number":51,"context_line":"        r \u003d parameter_types._build_regex_range(ws\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f485f77_eaa09692","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":24},"updated":"2017-11-16 17:48:21.000000000","message":"assertEqual parameters should be in the order of (expected_value, actual_value), so it looks like this is reversed throughout this file.","commit_id":"c2e7ad1f78a41485b955ea424344612d7a4f5184"}]}
