Skip to content
Snippets Groups Projects
Commit 099829d5 authored by Richard van der Hoff's avatar Richard van der Hoff
Browse files

use attr.s for VerifyKeyRequest

because namedtuple is awful
parent f76d407e
No related branches found
No related tags found
No related merge requests found
Refactor keyring.VerifyKeyRequest to use attr.s.
...@@ -15,12 +15,12 @@ ...@@ -15,12 +15,12 @@
# limitations under the License. # limitations under the License.
import logging import logging
from collections import namedtuple
import six import six
from six import raise_from from six import raise_from
from six.moves import urllib from six.moves import urllib
import attr
from signedjson.key import ( from signedjson.key import (
decode_verify_key_bytes, decode_verify_key_bytes,
encode_verify_key_base64, encode_verify_key_base64,
...@@ -57,22 +57,26 @@ from synapse.util.retryutils import NotRetryingDestination ...@@ -57,22 +57,26 @@ from synapse.util.retryutils import NotRetryingDestination
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
VerifyKeyRequest = namedtuple( @attr.s(slots=True, cmp=False)
"VerifyRequest", ("server_name", "key_ids", "json_object", "deferred") class VerifyKeyRequest(object):
) """
""" A request for a verify key to verify a JSON object.
A request for a verify key to verify a JSON object.
Attributes:
Attributes: server_name(str): The name of the server to verify against.
server_name(str): The name of the server to verify against. key_ids(set[str]): The set of key_ids to that could be used to verify the
key_ids(set(str)): The set of key_ids to that could be used to verify the JSON object
JSON object json_object(dict): The JSON object to verify.
json_object(dict): The JSON object to verify. deferred(Deferred[str, str, nacl.signing.VerifyKey]):
deferred(Deferred[str, str, nacl.signing.VerifyKey]): A deferred (server_name, key_id, verify_key) tuple that resolves when
A deferred (server_name, key_id, verify_key) tuple that resolves when a verify key has been fetched. The deferreds' callbacks are run with no
a verify key has been fetched. The deferreds' callbacks are run with no logcontext.
logcontext. """
"""
server_name = attr.ib()
key_ids = attr.ib()
json_object = attr.ib()
deferred = attr.ib()
class KeyLookupError(ValueError): class KeyLookupError(ValueError):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment