mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-06-19 06:24:07 -04:00
Run Black. (#5482)
This commit is contained in:
parent
7dcf984075
commit
32e7c9e7f2
376 changed files with 9142 additions and 10388 deletions
108
synapse/types.py
108
synapse/types.py
|
@ -21,9 +21,11 @@ import attr
|
|||
from synapse.api.errors import SynapseError
|
||||
|
||||
|
||||
class Requester(namedtuple("Requester", [
|
||||
"user", "access_token_id", "is_guest", "device_id", "app_service",
|
||||
])):
|
||||
class Requester(
|
||||
namedtuple(
|
||||
"Requester", ["user", "access_token_id", "is_guest", "device_id", "app_service"]
|
||||
)
|
||||
):
|
||||
"""
|
||||
Represents the user making a request
|
||||
|
||||
|
@ -76,8 +78,9 @@ class Requester(namedtuple("Requester", [
|
|||
)
|
||||
|
||||
|
||||
def create_requester(user_id, access_token_id=None, is_guest=False,
|
||||
device_id=None, app_service=None):
|
||||
def create_requester(
|
||||
user_id, access_token_id=None, is_guest=False, device_id=None, app_service=None
|
||||
):
|
||||
"""
|
||||
Create a new ``Requester`` object
|
||||
|
||||
|
@ -101,7 +104,7 @@ def get_domain_from_id(string):
|
|||
idx = string.find(":")
|
||||
if idx == -1:
|
||||
raise SynapseError(400, "Invalid ID: %r" % (string,))
|
||||
return string[idx + 1:]
|
||||
return string[idx + 1 :]
|
||||
|
||||
|
||||
def get_localpart_from_id(string):
|
||||
|
@ -111,9 +114,7 @@ def get_localpart_from_id(string):
|
|||
return string[1:idx]
|
||||
|
||||
|
||||
class DomainSpecificString(
|
||||
namedtuple("DomainSpecificString", ("localpart", "domain"))
|
||||
):
|
||||
class DomainSpecificString(namedtuple("DomainSpecificString", ("localpart", "domain"))):
|
||||
"""Common base class among ID/name strings that have a local part and a
|
||||
domain name, prefixed with a sigil.
|
||||
|
||||
|
@ -141,16 +142,16 @@ class DomainSpecificString(
|
|||
def from_string(cls, s):
|
||||
"""Parse the string given by 's' into a structure object."""
|
||||
if len(s) < 1 or s[0:1] != cls.SIGIL:
|
||||
raise SynapseError(400, "Expected %s string to start with '%s'" % (
|
||||
cls.__name__, cls.SIGIL,
|
||||
))
|
||||
raise SynapseError(
|
||||
400, "Expected %s string to start with '%s'" % (cls.__name__, cls.SIGIL)
|
||||
)
|
||||
|
||||
parts = s[1:].split(':', 1)
|
||||
parts = s[1:].split(":", 1)
|
||||
if len(parts) != 2:
|
||||
raise SynapseError(
|
||||
400, "Expected %s of the form '%slocalname:domain'" % (
|
||||
cls.__name__, cls.SIGIL,
|
||||
)
|
||||
400,
|
||||
"Expected %s of the form '%slocalname:domain'"
|
||||
% (cls.__name__, cls.SIGIL),
|
||||
)
|
||||
|
||||
domain = parts[1]
|
||||
|
@ -176,47 +177,50 @@ class DomainSpecificString(
|
|||
|
||||
class UserID(DomainSpecificString):
|
||||
"""Structure representing a user ID."""
|
||||
|
||||
SIGIL = "@"
|
||||
|
||||
|
||||
class RoomAlias(DomainSpecificString):
|
||||
"""Structure representing a room name."""
|
||||
|
||||
SIGIL = "#"
|
||||
|
||||
|
||||
class RoomID(DomainSpecificString):
|
||||
"""Structure representing a room id. """
|
||||
|
||||
SIGIL = "!"
|
||||
|
||||
|
||||
class EventID(DomainSpecificString):
|
||||
"""Structure representing an event id. """
|
||||
|
||||
SIGIL = "$"
|
||||
|
||||
|
||||
class GroupID(DomainSpecificString):
|
||||
"""Structure representing a group ID."""
|
||||
|
||||
SIGIL = "+"
|
||||
|
||||
@classmethod
|
||||
def from_string(cls, s):
|
||||
group_id = super(GroupID, cls).from_string(s)
|
||||
if not group_id.localpart:
|
||||
raise SynapseError(
|
||||
400,
|
||||
"Group ID cannot be empty",
|
||||
)
|
||||
raise SynapseError(400, "Group ID cannot be empty")
|
||||
|
||||
if contains_invalid_mxid_characters(group_id.localpart):
|
||||
raise SynapseError(
|
||||
400,
|
||||
"Group ID can only contain characters a-z, 0-9, or '=_-./'",
|
||||
400, "Group ID can only contain characters a-z, 0-9, or '=_-./'"
|
||||
)
|
||||
|
||||
return group_id
|
||||
|
||||
|
||||
mxid_localpart_allowed_characters = set("_-./=" + string.ascii_lowercase + string.digits)
|
||||
mxid_localpart_allowed_characters = set(
|
||||
"_-./=" + string.ascii_lowercase + string.digits
|
||||
)
|
||||
|
||||
|
||||
def contains_invalid_mxid_characters(localpart):
|
||||
|
@ -245,9 +249,9 @@ UPPER_CASE_PATTERN = re.compile(b"[A-Z_]")
|
|||
# bytes rather than strings
|
||||
#
|
||||
NON_MXID_CHARACTER_PATTERN = re.compile(
|
||||
("[^%s]" % (
|
||||
re.escape("".join(mxid_localpart_allowed_characters - {"="}),),
|
||||
)).encode("ascii"),
|
||||
("[^%s]" % (re.escape("".join(mxid_localpart_allowed_characters - {"="})),)).encode(
|
||||
"ascii"
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
@ -266,10 +270,11 @@ def map_username_to_mxid_localpart(username, case_sensitive=False):
|
|||
unicode: string suitable for a mxid localpart
|
||||
"""
|
||||
if not isinstance(username, bytes):
|
||||
username = username.encode('utf-8')
|
||||
username = username.encode("utf-8")
|
||||
|
||||
# first we sort out upper-case characters
|
||||
if case_sensitive:
|
||||
|
||||
def f1(m):
|
||||
return b"_" + m.group().lower()
|
||||
|
||||
|
@ -289,25 +294,28 @@ def map_username_to_mxid_localpart(username, case_sensitive=False):
|
|||
username = NON_MXID_CHARACTER_PATTERN.sub(f2, username)
|
||||
|
||||
# we also do the =-escaping to mxids starting with an underscore.
|
||||
username = re.sub(b'^_', b'=5f', username)
|
||||
username = re.sub(b"^_", b"=5f", username)
|
||||
|
||||
# we should now only have ascii bytes left, so can decode back to a
|
||||
# unicode.
|
||||
return username.decode('ascii')
|
||||
return username.decode("ascii")
|
||||
|
||||
|
||||
class StreamToken(
|
||||
namedtuple("Token", (
|
||||
"room_key",
|
||||
"presence_key",
|
||||
"typing_key",
|
||||
"receipt_key",
|
||||
"account_data_key",
|
||||
"push_rules_key",
|
||||
"to_device_key",
|
||||
"device_list_key",
|
||||
"groups_key",
|
||||
))
|
||||
namedtuple(
|
||||
"Token",
|
||||
(
|
||||
"room_key",
|
||||
"presence_key",
|
||||
"typing_key",
|
||||
"receipt_key",
|
||||
"account_data_key",
|
||||
"push_rules_key",
|
||||
"to_device_key",
|
||||
"device_list_key",
|
||||
"groups_key",
|
||||
),
|
||||
)
|
||||
):
|
||||
_SEPARATOR = "_"
|
||||
|
||||
|
@ -368,9 +376,7 @@ class StreamToken(
|
|||
return self._replace(**{key: new_value})
|
||||
|
||||
|
||||
StreamToken.START = StreamToken(
|
||||
*(["s0"] + ["0"] * (len(StreamToken._fields) - 1))
|
||||
)
|
||||
StreamToken.START = StreamToken(*(["s0"] + ["0"] * (len(StreamToken._fields) - 1)))
|
||||
|
||||
|
||||
class RoomStreamToken(namedtuple("_StreamToken", "topological stream")):
|
||||
|
@ -395,15 +401,16 @@ class RoomStreamToken(namedtuple("_StreamToken", "topological stream")):
|
|||
"topological_ordering" id of the event it comes after, followed by "-",
|
||||
followed by the "stream_ordering" id of the event it comes after.
|
||||
"""
|
||||
|
||||
__slots__ = []
|
||||
|
||||
@classmethod
|
||||
def parse(cls, string):
|
||||
try:
|
||||
if string[0] == 's':
|
||||
if string[0] == "s":
|
||||
return cls(topological=None, stream=int(string[1:]))
|
||||
if string[0] == 't':
|
||||
parts = string[1:].split('-', 1)
|
||||
if string[0] == "t":
|
||||
parts = string[1:].split("-", 1)
|
||||
return cls(topological=int(parts[0]), stream=int(parts[1]))
|
||||
except Exception:
|
||||
pass
|
||||
|
@ -412,7 +419,7 @@ class RoomStreamToken(namedtuple("_StreamToken", "topological stream")):
|
|||
@classmethod
|
||||
def parse_stream_token(cls, string):
|
||||
try:
|
||||
if string[0] == 's':
|
||||
if string[0] == "s":
|
||||
return cls(topological=None, stream=int(string[1:]))
|
||||
except Exception:
|
||||
pass
|
||||
|
@ -426,7 +433,7 @@ class RoomStreamToken(namedtuple("_StreamToken", "topological stream")):
|
|||
|
||||
|
||||
class ThirdPartyInstanceID(
|
||||
namedtuple("ThirdPartyInstanceID", ("appservice_id", "network_id"))
|
||||
namedtuple("ThirdPartyInstanceID", ("appservice_id", "network_id"))
|
||||
):
|
||||
# Deny iteration because it will bite you if you try to create a singleton
|
||||
# set by:
|
||||
|
@ -450,18 +457,19 @@ class ThirdPartyInstanceID(
|
|||
return cls(appservice_id=bits[0], network_id=bits[1])
|
||||
|
||||
def to_string(self):
|
||||
return "%s|%s" % (self.appservice_id, self.network_id,)
|
||||
return "%s|%s" % (self.appservice_id, self.network_id)
|
||||
|
||||
__str__ = to_string
|
||||
|
||||
@classmethod
|
||||
def create(cls, appservice_id, network_id,):
|
||||
def create(cls, appservice_id, network_id):
|
||||
return cls(appservice_id=appservice_id, network_id=network_id)
|
||||
|
||||
|
||||
@attr.s(slots=True)
|
||||
class ReadReceipt(object):
|
||||
"""Information about a read-receipt"""
|
||||
|
||||
room_id = attr.ib()
|
||||
receipt_type = attr.ib()
|
||||
user_id = attr.ib()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue