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."""
diff --git a/tests/handlers/test_directory.py b/tests/handlers/test_directory.py
index 8e164e4be0..22119de46a 100644
--- a/tests/handlers/test_directory.py
+++ b/tests/handlers/test_directory.py
@@ -21,6 +21,7 @@ from mock import Mock
from synapse.server import HomeServer
from synapse.handlers.directory import DirectoryHandler
+from synapse.types import RoomAlias
from tests.utils import SQLiteMemoryDbPool, MockKey
@@ -65,9 +66,9 @@ class DirectoryTestCase(unittest.TestCase):
self.store = hs.get_datastore()
- self.my_room = hs.parse_roomalias("#my-room:test")
- self.your_room = hs.parse_roomalias("#your-room:test")
- self.remote_room = hs.parse_roomalias("#another:remote")
+ self.my_room = RoomAlias.from_string("#my-room:test")
+ self.your_room = RoomAlias.from_string("#your-room:test")
+ self.remote_room = RoomAlias.from_string("#another:remote")
@defer.inlineCallbacks
def test_get_local_association(self):
diff --git a/tests/storage/test_directory.py b/tests/storage/test_directory.py
index 1bc6391766..bc9ebf35e2 100644
--- a/tests/storage/test_directory.py
+++ b/tests/storage/test_directory.py
@@ -19,7 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.storage.directory import DirectoryStore
-from synapse.types import RoomID
+from synapse.types import RoomID, RoomAlias
from tests.utils import SQLiteMemoryDbPool
@@ -39,7 +39,7 @@ class DirectoryStoreTestCase(unittest.TestCase):
self.store = DirectoryStore(hs)
self.room = RoomID.from_string("!abcde:test")
- self.alias = hs.parse_roomalias("#my-room:test")
+ self.alias = RoomAlias.from_string("#my-room:test")
@defer.inlineCallbacks
def test_room_to_alias(self):
diff --git a/tests/storage/test_room.py b/tests/storage/test_room.py
index baec3a3bb9..71e5d34143 100644
--- a/tests/storage/test_room.py
+++ b/tests/storage/test_room.py
@@ -19,7 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.api.constants import EventTypes
-from synapse.types import UserID, RoomID
+from synapse.types import UserID, RoomID, RoomAlias
from tests.utils import SQLiteMemoryDbPool
@@ -40,7 +40,7 @@ class RoomStoreTestCase(unittest.TestCase):
self.store = hs.get_datastore()
self.room = RoomID.from_string("!abcde:test")
- self.alias = hs.parse_roomalias("#a-room-name:test")
+ self.alias = RoomAlias.from_string("#a-room-name:test")
self.u_creator = UserID.from_string("@creator:test")
yield self.store.store_room(self.room.to_string(),
diff --git a/tests/test_types.py b/tests/test_types.py
index 2de7f22ab0..b29a8415b1 100644
--- a/tests/test_types.py
+++ b/tests/test_types.py
@@ -56,9 +56,3 @@ class RoomAliasTestCase(unittest.TestCase):
room = RoomAlias("channel", "my.domain")
self.assertEquals(room.to_string(), "#channel:my.domain")
-
- def test_via_homeserver(self):
- room = mock_homeserver.parse_roomalias("#elsewhere:my.domain")
-
- self.assertEquals("elsewhere", room.localpart)
- self.assertEquals("my.domain", room.domain)
|