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

Commit 6ba621d

Browse files
authored
Merge pull request #8060 from matrix-org/erikj/type_server
Change HomeServer definition to work with typing.
2 parents 04faa0b + fdb46b5 commit 6ba621d

File tree

8 files changed

+269
-403
lines changed

8 files changed

+269
-403
lines changed

changelog.d/8060.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Improve typing information on `HomeServer` object.

synapse/app/generic_worker.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
from synapse.rest.client.versions import VersionsRestServlet
126126
from synapse.rest.health import HealthResource
127127
from synapse.rest.key.v2 import KeyApiV2Resource
128-
from synapse.server import HomeServer
128+
from synapse.server import HomeServer, cache_in_self
129129
from synapse.storage.databases.main.censor_events import CensorEventsStore
130130
from synapse.storage.databases.main.media_repository import MediaRepositoryStore
131131
from synapse.storage.databases.main.monthly_active_users import (
@@ -635,10 +635,12 @@ def start_listening(self, listeners: Iterable[ListenerConfig]):
635635
async def remove_pusher(self, app_id, push_key, user_id):
636636
self.get_tcp_replication().send_remove_pusher(app_id, push_key, user_id)
637637

638-
def build_replication_data_handler(self):
638+
@cache_in_self
639+
def get_replication_data_handler(self):
639640
return GenericWorkerReplicationHandler(self)
640641

641-
def build_presence_handler(self):
642+
@cache_in_self
643+
def get_presence_handler(self):
642644
return GenericWorkerPresence(self)
643645

644646

synapse/handlers/oidc_handler.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# limitations under the License.
1515
import json
1616
import logging
17-
from typing import Dict, Generic, List, Optional, Tuple, TypeVar
17+
from typing import TYPE_CHECKING, Dict, Generic, List, Optional, Tuple, TypeVar
1818
from urllib.parse import urlencode
1919

2020
import attr
@@ -39,9 +39,11 @@
3939
from synapse.http.site import SynapseRequest
4040
from synapse.logging.context import make_deferred_yieldable
4141
from synapse.push.mailer import load_jinja2_templates
42-
from synapse.server import HomeServer
4342
from synapse.types import UserID, map_username_to_mxid_localpart
4443

44+
if TYPE_CHECKING:
45+
from synapse.server import HomeServer
46+
4547
logger = logging.getLogger(__name__)
4648

4749
SESSION_COOKIE_NAME = b"oidc_session"
@@ -91,7 +93,7 @@ class OidcHandler:
9193
"""Handles requests related to the OpenID Connect login flow.
9294
"""
9395

94-
def __init__(self, hs: HomeServer):
96+
def __init__(self, hs: "HomeServer"):
9597
self._callback_url = hs.config.oidc_callback_url # type: str
9698
self._scopes = hs.config.oidc_scopes # type: List[str]
9799
self._client_auth = ClientAuth(

synapse/secrets.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@
2525
if sys.version_info[0:2] >= (3, 6):
2626
import secrets
2727

28-
def Secrets():
29-
return secrets
28+
class Secrets:
29+
def token_bytes(self, nbytes=32):
30+
return secrets.token_bytes(nbytes)
31+
32+
def token_hex(self, nbytes=32):
33+
return secrets.token_hex(nbytes)
3034

3135

3236
else:

0 commit comments

Comments
 (0)