)]}'
{"cinder/context.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fbb7b6fd031b4daf86e4ed47d8af4c941d598827","unresolved":true,"context_lines":[{"line_number":175,"context_line":"    read_deleted \u003d property(_get_read_deleted, _set_read_deleted,"},{"line_number":176,"context_line":"                            _del_read_deleted)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def to_dict(self) -\u003e dict[str, Union[str]]:"},{"line_number":179,"context_line":"        result \u003d super(RequestContext, self).to_dict()"},{"line_number":180,"context_line":"        result[\u0027user_id\u0027] \u003d self.user_id"},{"line_number":181,"context_line":"        result[\u0027project_id\u0027] \u003d self.project_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"0719fcc9_44986a8e","line":178,"range":{"start_line":178,"start_character":35,"end_line":178,"end_character":45},"updated":"2026-04-13 13:16:28.000000000","message":"This looks questionable","commit_id":"dfe6b994a1ea0537ac94369fb7f05cdaa9dc64f6"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d86d48c24a2ffa1ab311a5d9c4ebf38a36ab09b5","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    read_deleted \u003d property(_get_read_deleted, _set_read_deleted,"},{"line_number":176,"context_line":"                            _del_read_deleted)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def to_dict(self) -\u003e dict[str, Union[str]]:"},{"line_number":179,"context_line":"        result \u003d super(RequestContext, self).to_dict()"},{"line_number":180,"context_line":"        result[\u0027user_id\u0027] \u003d self.user_id"},{"line_number":181,"context_line":"        result[\u0027project_id\u0027] \u003d self.project_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"33aa13a9_5b034c5e","line":178,"range":{"start_line":178,"start_character":35,"end_line":178,"end_character":45},"in_reply_to":"0719fcc9_44986a8e","updated":"2026-04-15 13:24:44.000000000","message":"Done","commit_id":"dfe6b994a1ea0537ac94369fb7f05cdaa9dc64f6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"595c4c4acd28c396229c3b20097159b30e70eea8","unresolved":true,"context_lines":[{"line_number":97,"context_line":"                 read_deleted: Optional[str] \u003d \"no\","},{"line_number":98,"context_line":"                 project_name: Optional[str] \u003d None,"},{"line_number":99,"context_line":"                 remote_address: Optional[str] \u003d None,"},{"line_number":100,"context_line":"                 timestamp: Optional[Union[str, \u0027datetime.datetime\u0027]] \u003d None,"},{"line_number":101,"context_line":"                 quota_class: Optional[str] \u003d None,"},{"line_number":102,"context_line":"                 service_catalog: Optional[list[dict]] \u003d None,"},{"line_number":103,"context_line":"                 user_auth_plugin: Optional[plugin.BaseAuthPlugin] \u003d None,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1d82095a_219ec4f2","line":100,"updated":"2026-04-15 21:49:06.000000000","message":"This is sort of unrelated, but nowadays you can use the nicer\n\n```suggestion\n                 timestamp: str | \u0027datetime.datetime\u0027 | None \u003d None,\n```\n\nsyntax. Also, oslo.context is typed for some time so if you fix your mypy configuration you\u0027ll be able to take advantage of those hints for the other methods here.","commit_id":"082a5205943a662c7d7b836a591ad3224f722dbb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"595c4c4acd28c396229c3b20097159b30e70eea8","unresolved":true,"context_lines":[{"line_number":128,"context_line":"            timestamp \u003d timeutils.utcnow()"},{"line_number":129,"context_line":"        elif isinstance(timestamp, str):"},{"line_number":130,"context_line":"            timestamp \u003d timeutils.parse_isotime(timestamp)"},{"line_number":131,"context_line":"        timestamp \u003d typing.cast(\u0027datetime.datetime\u0027, timestamp)"},{"line_number":132,"context_line":"        self.timestamp: \u0027datetime.datetime\u0027 \u003d timestamp"},{"line_number":133,"context_line":"        self.quota_class \u003d quota_class"},{"line_number":134,"context_line":"        self.message_resource_id \u003d message_resource_id"}],"source_content_type":"text/x-python","patch_set":5,"id":"605e90a7_a9e1d247","line":131,"updated":"2026-04-15 21:49:06.000000000","message":"This is happening because either (a) you\u0027re not installing oslo.utils into your environment, or (b) you have follow-imports disabled. I\u0027d encourage you to look at how we enable mypy in virtually all the oslo projects now, as well as nova. It\u0027ll take a bit of work to initially set-up but it\u0027s much easier to work with then.","commit_id":"082a5205943a662c7d7b836a591ad3224f722dbb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"595c4c4acd28c396229c3b20097159b30e70eea8","unresolved":true,"context_lines":[{"line_number":218,"context_line":"    def authorize("},{"line_number":219,"context_line":"            self,"},{"line_number":220,"context_line":"            action: str,"},{"line_number":221,"context_line":"            target: Optional[dict] \u003d None,"},{"line_number":222,"context_line":"            target_obj: Optional[Union[dict,"},{"line_number":223,"context_line":"                                       objects_base.CinderObject]] \u003d None,"},{"line_number":224,"context_line":"            fatal: bool \u003d True):"}],"source_content_type":"text/x-python","patch_set":5,"id":"c993814c_4064c093","line":221,"updated":"2026-04-15 21:49:06.000000000","message":"```suggestion\n            target: dict[str, Any] | None \u003d None,\n```","commit_id":"082a5205943a662c7d7b836a591ad3224f722dbb"}]}
