summary refs log tree commit diff
path: root/synapse/server.py
diff options
context:
space:
mode:
authorKegan Dougal <kegan@matrix.org>2014-08-27 09:43:42 +0100
committerKegan Dougal <kegan@matrix.org>2014-08-27 09:43:42 +0100
commitdfa0cd1d90cb80de7e42fc2c8aaac8911287d718 (patch)
treeeac44e8ff4b18b5649d4f46adcfd25c562b7fb9e /synapse/server.py
parentPepper UT TODOs (diff)
downloadsynapse-dfa0cd1d90cb80de7e42fc2c8aaac8911287d718.tar.xz
Modified /join/$identifier to support $identifier being a room ID in addition to a room alias.
Diffstat (limited to 'synapse/server.py')
-rw-r--r--synapse/server.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/synapse/server.py b/synapse/server.py
index c5b0a32757..439b9d628e 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -28,7 +28,7 @@ from synapse.handlers import Handlers
 from synapse.rest import RestServletFactory
 from synapse.state import StateHandler
 from synapse.storage import DataStore
-from synapse.types import UserID, RoomAlias
+from synapse.types import UserID, RoomAlias, RoomID
 from synapse.util import Clock
 from synapse.util.distributor import Distributor
 from synapse.util.lockutils import LockManager
@@ -117,6 +117,9 @@ class BaseHomeServer(object):
 
         setattr(BaseHomeServer, "get_%s" % (depname), _get)
 
+    # 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?
+
     # Other utility methods
     def parse_userid(self, s):
         """Parse the string given by 's' as a User ID and return a UserID
@@ -128,6 +131,11 @@ class BaseHomeServer(object):
         object."""
         return RoomAlias.from_string(s, hs=self)
 
+    def parse_roomid(self, s):
+        """Parse the string given by 's' as a Room ID and return a RoomID
+        object."""
+        return RoomID.from_string(s, hs=self)
+
 # Build magic accessors for every dependency
 for depname in BaseHomeServer.DEPENDENCIES:
     BaseHomeServer._make_dependency_method(depname)