)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cc2204564a8ef8ac31155e79dd593e19f396035f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"baf1dc4d_f7aa31f1","updated":"2026-09-15 13:12:12.000000000","message":"small nit","commit_id":"0283f58d4fe5a310333078a2a6507f3998615098"}],"keystoneauth1/identity/v3/oauth2_mtls_client_credential.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cc2204564a8ef8ac31155e79dd593e19f396035f","unresolved":true,"context_lines":[{"line_number":23,"context_line":"from keystoneauth1 import session as ks_session"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def _cert_file_from_session_cert(cert: Any) -\u003e str | None:"},{"line_number":27,"context_line":"    if not cert:"},{"line_number":28,"context_line":"        return None"},{"line_number":29,"context_line":"    if isinstance(cert, str):"}],"source_content_type":"text/x-python","patch_set":1,"id":"003f929b_42ecdb8e","line":26,"updated":"2026-09-15 13:12:12.000000000","message":"We know the type of `cert` from `keystoneauth1.session.Session`. We don\u0027t need to use `Any` here.\n\n```suggestion\ndef _cert_file_from_session_cert(\n    cert:  str | tuple[str, str] | None\n) -\u003e str | None:\n```","commit_id":"0283f58d4fe5a310333078a2a6507f3998615098"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cc2204564a8ef8ac31155e79dd593e19f396035f","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def _cert_file_from_session_cert(cert: Any) -\u003e str | None:"},{"line_number":27,"context_line":"    if not cert:"},{"line_number":28,"context_line":"        return None"},{"line_number":29,"context_line":"    if isinstance(cert, str):"},{"line_number":30,"context_line":"        return cert"},{"line_number":31,"context_line":"    if isinstance(cert, tuple) and isinstance(cert[0], str):"},{"line_number":32,"context_line":"        return cert[0]"},{"line_number":33,"context_line":"    return None"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _certificate_thumbprint_sha256(cert_pem: str) -\u003e str:"}],"source_content_type":"text/x-python","patch_set":1,"id":"29ce6da6_51d4206a","line":33,"range":{"start_line":27,"start_character":0,"end_line":33,"end_character":15},"updated":"2026-09-15 13:12:12.000000000","message":"Given the above, this can become:\n\n```suggestion\n    if isinstance(cert, tuple):\n        return cert[0]\n    return cert\n```","commit_id":"0283f58d4fe5a310333078a2a6507f3998615098"}]}
