Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
use attr.s for VerifyKeyRequest
Browse files Browse the repository at this point in the history
because namedtuple is awful
  • Loading branch information
richvdh committed May 30, 2019
1 parent f76d407 commit 099829d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 17 deletions.
1 change: 1 addition & 0 deletions changelog.d/5296.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Refactor keyring.VerifyKeyRequest to use attr.s.
38 changes: 21 additions & 17 deletions synapse/crypto/keyring.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
# limitations under the License.

import logging
from collections import namedtuple

import six
from six import raise_from
from six.moves import urllib

import attr
from signedjson.key import (
decode_verify_key_bytes,
encode_verify_key_base64,
Expand Down Expand Up @@ -57,22 +57,26 @@
logger = logging.getLogger(__name__)


VerifyKeyRequest = namedtuple(
"VerifyRequest", ("server_name", "key_ids", "json_object", "deferred")
)
"""
A request for a verify key to verify a JSON object.
Attributes:
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
JSON object
json_object(dict): The JSON object to verify.
deferred(Deferred[str, str, nacl.signing.VerifyKey]):
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
logcontext.
"""
@attr.s(slots=True, cmp=False)
class VerifyKeyRequest(object):
"""
A request for a verify key to verify a JSON object.
Attributes:
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
JSON object
json_object(dict): The JSON object to verify.
deferred(Deferred[str, str, nacl.signing.VerifyKey]):
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
logcontext.
"""

server_name = attr.ib()
key_ids = attr.ib()
json_object = attr.ib()
deferred = attr.ib()


class KeyLookupError(ValueError):
Expand Down

0 comments on commit 099829d

Please sign in to comment.