Wait for sync to complete when running sync explicitly

This commit is contained in:
Tulir Asokan
2018-04-28 22:01:29 +03:00
parent 445d997be8
commit 193dcc714b
3 changed files with 10 additions and 7 deletions
+6 -4
View File
@@ -210,14 +210,16 @@ class Portal:
await puppet.update_info(user, entity)
await puppet.intent.join_room(self.mxid)
async def create_matrix_room(self, user, entity=None, invites=None, update_if_exists=True):
async def create_matrix_room(self, user, entity=None, invites=None, update_if_exists=True, synchronous=False):
if self.mxid:
if update_if_exists:
if not entity:
entity = await user.client.get_entity(self.peer)
asyncio.ensure_future(
self.update_matrix_room(user, entity, self.peer_type == "user"),
loop=self.loop)
update = self.update_matrix_room(user, entity, self.peer_type == "user")
if synchronous:
await update
else:
asyncio.ensure_future(update, loop=self.loop)
await self.invite_to_matrix(invites or [])
return self.mxid
async with self._room_create_lock: