)]}'
{"keystoneauth1/extras/kerberos/__init__.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ba0fd3523d657e065415c7d4c171362123781d9c","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"class Kerberos(v3.Auth):"},{"line_number":91,"context_line":"    _auth_method_class \u003d KerberosMethod"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def __init__("},{"line_number":94,"context_line":"        self,"}],"source_content_type":"text/x-python","patch_set":4,"id":"206a6f0e_70ed7eda","line":91,"updated":"2025-02-11 17:45:14.000000000","message":"fwiw, I\u0027d also like to get rid of this but I wasn\u0027t able to find a better way to associate a v3 Plugin with a v3 Method. I settled on the protocol approach as an acceptable compromise.","commit_id":"fb8dd43e45dff4058323fbac7e304e1f3be964bf"}],"keystoneauth1/identity/generic/base.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ba0fd3523d657e065415c7d4c171362123781d9c","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        else:"},{"line_number":221,"context_line":"            plugin \u003d self._do_create_plugin(session)"},{"line_number":222,"context_line":"            self._plugin \u003d plugin"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        return plugin.get_auth_ref(session)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"2ed5b06c_8c3ffd84","line":223,"updated":"2025-02-11 17:45:14.000000000","message":"I need to do this because mypy won\u0027t narrow an existing type (`self._plugin`).","commit_id":"fb8dd43e45dff4058323fbac7e304e1f3be964bf"}],"keystoneauth1/identity/v3/multi_factor.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ba0fd3523d657e065415c7d4c171362123781d9c","unresolved":true,"context_lines":[{"line_number":81,"context_line":"                # method to use\" but runtime checking of a protocol is slow. I"},{"line_number":82,"context_line":"                # guess we need a new subclass?"},{"line_number":83,"context_line":"                if not isinstance(plugin_class, base.SupportsMultiFactor):"},{"line_number":84,"context_line":"                    raise TypeError(\u0027todo\u0027)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"                method_class \u003d plugin_class._auth_method_class"},{"line_number":87,"context_line":"                method_parameters \u003d list(method_class.__annotations__)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f5fd33d8_bf093cde","line":84,"range":{"start_line":84,"start_character":37,"end_line":84,"end_character":41},"updated":"2025-02-11 17:45:14.000000000","message":"I should probably populate this :s","commit_id":"fb8dd43e45dff4058323fbac7e304e1f3be964bf"}]}
