diff --git a/synapse/handlers/directory.py b/synapse/handlers/directory.py
index 91fceda2ac..58e9a91562 100644
--- a/synapse/handlers/directory.py
+++ b/synapse/handlers/directory.py
@@ -19,6 +19,7 @@ from ._base import BaseHandler
from synapse.api.errors import SynapseError, Codes, CodeMessageException
from synapse.api.constants import EventTypes
+from synapse.types import RoomAlias
import logging
@@ -122,7 +123,7 @@ class DirectoryHandler(BaseHandler):
@defer.inlineCallbacks
def on_directory_query(self, args):
- room_alias = self.hs.parse_roomalias(args["room_alias"])
+ room_alias = RoomAlias.from_string(args["room_alias"])
if not self.hs.is_mine(room_alias):
raise SynapseError(
400, "Room Alias is not hosted on this Home Server"
diff --git a/synapse/rest/client/v1/directory.py b/synapse/rest/client/v1/directory.py
index 7ff44fdd9e..1f33ec9e81 100644
--- a/synapse/rest/client/v1/directory.py
+++ b/synapse/rest/client/v1/directory.py
@@ -17,7 +17,8 @@
from twisted.internet import defer
from synapse.api.errors import AuthError, SynapseError, Codes
-from base import RestServlet, client_path_pattern
+from synapse.types import RoomAlias
+from .base import RestServlet, client_path_pattern
import json
import logging
@@ -35,7 +36,7 @@ class ClientDirectoryServer(RestServlet):
@defer.inlineCallbacks
def on_GET(self, request, room_alias):
- room_alias = self.hs.parse_roomalias(room_alias)
+ room_alias = RoomAlias.from_string(room_alias)
dir_handler = self.handlers.directory_handler
res = yield dir_handler.get_association(room_alias)
@@ -53,7 +54,7 @@ class ClientDirectoryServer(RestServlet):
logger.debug("Got content: %s", content)
- room_alias = self.hs.parse_roomalias(room_alias)
+ room_alias = RoomAlias.from_string(room_alias)
logger.debug("Got room name: %s", room_alias.to_string())
@@ -92,7 +93,7 @@ class ClientDirectoryServer(RestServlet):
dir_handler = self.handlers.directory_handler
- room_alias = self.hs.parse_roomalias(room_alias)
+ room_alias = RoomAlias.from_string(room_alias)
yield dir_handler.delete_association(
user.to_string(), room_alias
diff --git a/synapse/rest/client/v1/room.py b/synapse/rest/client/v1/room.py
index f0a9c932c1..42712d4a7c 100644
--- a/synapse/rest/client/v1/room.py
+++ b/synapse/rest/client/v1/room.py
@@ -20,7 +20,7 @@ from base import RestServlet, client_path_pattern
from synapse.api.errors import SynapseError, Codes
from synapse.streams.config import PaginationConfig
from synapse.api.constants import EventTypes, Membership
-from synapse.types import UserID, RoomID
+from synapse.types import UserID, RoomID, RoomAlias
import json
import logging
@@ -224,7 +224,7 @@ class JoinRoomAliasServlet(RestServlet):
identifier = None
is_room_alias = False
try:
- identifier = self.hs.parse_roomalias(room_identifier)
+ identifier = RoomAlias.from_string(room_identifier)
is_room_alias = True
except SynapseError:
identifier = RoomID.from_string(room_identifier)
diff --git a/synapse/server.py b/synapse/server.py
index 4dfff04277..41a26ad91a 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -26,7 +26,7 @@ from synapse.api.auth import Auth
from synapse.handlers import Handlers
from synapse.state import StateHandler
from synapse.storage import DataStore
-from synapse.types import RoomAlias, EventID
+from synapse.types import EventID
from synapse.util import Clock
from synapse.util.distributor import Distributor
from synapse.util.lockutils import LockManager
@@ -127,11 +127,6 @@ class BaseHomeServer(object):
# TODO: Why are these parse_ methods so high up along with other globals?
# Surely these should be in a util package or in the api package?
- def parse_roomalias(self, s):
- """Parse the string given by 's' as a Room Alias and return a RoomAlias
- object."""
- return RoomAlias.from_string(s)
-
def parse_eventid(self, s):
"""Parse the string given by 's' as a Event ID and return a EventID
object."""
|