Port handlers.account_data to async/await.

This commit is contained in:
Erik Johnston 2019-12-10 11:12:56 +00:00
parent 0f3614f0f6
commit 353396e3a7

View file

@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from twisted.internet import defer
class AccountDataEventSource(object): class AccountDataEventSource(object):
def __init__(self, hs): def __init__(self, hs):
@ -23,15 +21,14 @@ class AccountDataEventSource(object):
def get_current_key(self, direction="f"): def get_current_key(self, direction="f"):
return self.store.get_max_account_data_stream_id() return self.store.get_max_account_data_stream_id()
@defer.inlineCallbacks async def get_new_events(self, user, from_key, **kwargs):
def get_new_events(self, user, from_key, **kwargs):
user_id = user.to_string() user_id = user.to_string()
last_stream_id = from_key last_stream_id = from_key
current_stream_id = yield self.store.get_max_account_data_stream_id() current_stream_id = await self.store.get_max_account_data_stream_id()
results = [] results = []
tags = yield self.store.get_updated_tags(user_id, last_stream_id) tags = await self.store.get_updated_tags(user_id, last_stream_id)
for room_id, room_tags in tags.items(): for room_id, room_tags in tags.items():
results.append( results.append(
@ -41,7 +38,7 @@ class AccountDataEventSource(object):
( (
account_data, account_data,
room_account_data, room_account_data,
) = yield self.store.get_updated_account_data_for_user(user_id, last_stream_id) ) = await self.store.get_updated_account_data_for_user(user_id, last_stream_id)
for account_data_type, content in account_data.items(): for account_data_type, content in account_data.items():
results.append({"type": account_data_type, "content": content}) results.append({"type": account_data_type, "content": content})
@ -54,6 +51,5 @@ class AccountDataEventSource(object):
return results, current_stream_id return results, current_stream_id
@defer.inlineCallbacks async def get_pagination_rows(self, user, config, key):
def get_pagination_rows(self, user, config, key):
return [], config.to_id return [], config.to_id