mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-22 12:44:57 -05:00
Spell builder correctly
This commit is contained in:
parent
79bea8ab9a
commit
be2c677386
@ -505,50 +505,50 @@ class SyncHandler(object):
|
|||||||
# Always use the `now_token` in `SyncResultBuilder`
|
# Always use the `now_token` in `SyncResultBuilder`
|
||||||
now_token = yield self.event_sources.get_current_token()
|
now_token = yield self.event_sources.get_current_token()
|
||||||
|
|
||||||
sync_result_builer = SyncResultBuilder(
|
sync_result_builder = SyncResultBuilder(
|
||||||
sync_config, full_state,
|
sync_config, full_state,
|
||||||
since_token=since_token,
|
since_token=since_token,
|
||||||
now_token=now_token,
|
now_token=now_token,
|
||||||
)
|
)
|
||||||
|
|
||||||
account_data_by_room = yield self._generate_sync_entry_for_account_data(
|
account_data_by_room = yield self._generate_sync_entry_for_account_data(
|
||||||
sync_result_builer
|
sync_result_builder
|
||||||
)
|
)
|
||||||
|
|
||||||
res = yield self._generate_sync_entry_for_rooms(
|
res = yield self._generate_sync_entry_for_rooms(
|
||||||
sync_result_builer, account_data_by_room
|
sync_result_builder, account_data_by_room
|
||||||
)
|
)
|
||||||
newly_joined_rooms, newly_joined_users = res
|
newly_joined_rooms, newly_joined_users = res
|
||||||
|
|
||||||
yield self._generate_sync_entry_for_presence(
|
yield self._generate_sync_entry_for_presence(
|
||||||
sync_result_builer, newly_joined_rooms, newly_joined_users
|
sync_result_builder, newly_joined_rooms, newly_joined_users
|
||||||
)
|
)
|
||||||
|
|
||||||
defer.returnValue(SyncResult(
|
defer.returnValue(SyncResult(
|
||||||
presence=sync_result_builer.presence,
|
presence=sync_result_builder.presence,
|
||||||
account_data=sync_result_builer.account_data,
|
account_data=sync_result_builder.account_data,
|
||||||
joined=sync_result_builer.joined,
|
joined=sync_result_builder.joined,
|
||||||
invited=sync_result_builer.invited,
|
invited=sync_result_builder.invited,
|
||||||
archived=sync_result_builer.archived,
|
archived=sync_result_builder.archived,
|
||||||
next_batch=sync_result_builer.now_token,
|
next_batch=sync_result_builder.now_token,
|
||||||
))
|
))
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _generate_sync_entry_for_account_data(self, sync_result_builer):
|
def _generate_sync_entry_for_account_data(self, sync_result_builder):
|
||||||
"""Generates the account data portion of the sync response. Populates
|
"""Generates the account data portion of the sync response. Populates
|
||||||
`sync_result_builer` with the result.
|
`sync_result_builder` with the result.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sync_result_builer(SyncResultBuilder)
|
sync_result_builder(SyncResultBuilder)
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Deferred(dict): A dictionary containing the per room account data.
|
Deferred(dict): A dictionary containing the per room account data.
|
||||||
"""
|
"""
|
||||||
sync_config = sync_result_builer.sync_config
|
sync_config = sync_result_builder.sync_config
|
||||||
user_id = sync_result_builer.sync_config.user.to_string()
|
user_id = sync_result_builder.sync_config.user.to_string()
|
||||||
since_token = sync_result_builer.since_token
|
since_token = sync_result_builder.since_token
|
||||||
|
|
||||||
if since_token and not sync_result_builer.full_state:
|
if since_token and not sync_result_builder.full_state:
|
||||||
account_data, account_data_by_room = (
|
account_data, account_data_by_room = (
|
||||||
yield self.store.get_updated_account_data_for_user(
|
yield self.store.get_updated_account_data_for_user(
|
||||||
user_id,
|
user_id,
|
||||||
@ -580,31 +580,31 @@ class SyncHandler(object):
|
|||||||
for account_data_type, content in account_data.items()
|
for account_data_type, content in account_data.items()
|
||||||
])
|
])
|
||||||
|
|
||||||
sync_result_builer.account_data = account_data_for_user
|
sync_result_builder.account_data = account_data_for_user
|
||||||
|
|
||||||
defer.returnValue(account_data_by_room)
|
defer.returnValue(account_data_by_room)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _generate_sync_entry_for_presence(self, sync_result_builer, newly_joined_rooms,
|
def _generate_sync_entry_for_presence(self, sync_result_builder, newly_joined_rooms,
|
||||||
newly_joined_users):
|
newly_joined_users):
|
||||||
"""Generates the presence portion of the sync response. Populates the
|
"""Generates the presence portion of the sync response. Populates the
|
||||||
`sync_result_builer` with the result.
|
`sync_result_builder` with the result.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sync_result_builer(SyncResultBuilder)
|
sync_result_builder(SyncResultBuilder)
|
||||||
newly_joined_rooms(list): List of rooms that the user has joined
|
newly_joined_rooms(list): List of rooms that the user has joined
|
||||||
since the last sync (or empty if an initial sync)
|
since the last sync (or empty if an initial sync)
|
||||||
newly_joined_users(list): List of users that have joined rooms
|
newly_joined_users(list): List of users that have joined rooms
|
||||||
since the last sync (or empty if an initial sync)
|
since the last sync (or empty if an initial sync)
|
||||||
"""
|
"""
|
||||||
now_token = sync_result_builer.now_token
|
now_token = sync_result_builder.now_token
|
||||||
sync_config = sync_result_builer.sync_config
|
sync_config = sync_result_builder.sync_config
|
||||||
user = sync_result_builer.sync_config.user
|
user = sync_result_builder.sync_config.user
|
||||||
|
|
||||||
presence_source = self.event_sources.sources["presence"]
|
presence_source = self.event_sources.sources["presence"]
|
||||||
|
|
||||||
since_token = sync_result_builer.since_token
|
since_token = sync_result_builder.since_token
|
||||||
if since_token and not sync_result_builer.full_state:
|
if since_token and not sync_result_builder.full_state:
|
||||||
presence_key = since_token.presence_key
|
presence_key = since_token.presence_key
|
||||||
else:
|
else:
|
||||||
presence_key = None
|
presence_key = None
|
||||||
@ -614,7 +614,7 @@ class SyncHandler(object):
|
|||||||
from_key=presence_key,
|
from_key=presence_key,
|
||||||
is_guest=sync_config.is_guest,
|
is_guest=sync_config.is_guest,
|
||||||
)
|
)
|
||||||
sync_result_builer.now_token = now_token.copy_and_replace(
|
sync_result_builder.now_token = now_token.copy_and_replace(
|
||||||
"presence_key", presence_key
|
"presence_key", presence_key
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -634,27 +634,27 @@ class SyncHandler(object):
|
|||||||
presence
|
presence
|
||||||
)
|
)
|
||||||
|
|
||||||
sync_result_builer.presence = presence
|
sync_result_builder.presence = presence
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _generate_sync_entry_for_rooms(self, sync_result_builer, account_data_by_room):
|
def _generate_sync_entry_for_rooms(self, sync_result_builder, account_data_by_room):
|
||||||
"""Generates the rooms portion of the sync response. Populates the
|
"""Generates the rooms portion of the sync response. Populates the
|
||||||
`sync_result_builer` with the result.
|
`sync_result_builder` with the result.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sync_result_builer(SyncResultBuilder)
|
sync_result_builder(SyncResultBuilder)
|
||||||
account_data_by_room(dict): Dictionary of per room account data
|
account_data_by_room(dict): Dictionary of per room account data
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Deferred(tuple): Returns a 2-tuple of
|
Deferred(tuple): Returns a 2-tuple of
|
||||||
`(newly_joined_rooms, newly_joined_users)`
|
`(newly_joined_rooms, newly_joined_users)`
|
||||||
"""
|
"""
|
||||||
user_id = sync_result_builer.sync_config.user.to_string()
|
user_id = sync_result_builder.sync_config.user.to_string()
|
||||||
|
|
||||||
now_token, ephemeral_by_room = yield self.ephemeral_by_room(
|
now_token, ephemeral_by_room = yield self.ephemeral_by_room(
|
||||||
sync_result_builer.sync_config, sync_result_builer.now_token
|
sync_result_builder.sync_config, sync_result_builder.now_token
|
||||||
)
|
)
|
||||||
sync_result_builer.now_token = now_token
|
sync_result_builder.now_token = now_token
|
||||||
|
|
||||||
ignored_account_data = yield self.store.get_global_account_data_by_type_for_user(
|
ignored_account_data = yield self.store.get_global_account_data_by_type_for_user(
|
||||||
"m.ignored_user_list", user_id=user_id,
|
"m.ignored_user_list", user_id=user_id,
|
||||||
@ -665,38 +665,38 @@ class SyncHandler(object):
|
|||||||
else:
|
else:
|
||||||
ignored_users = frozenset()
|
ignored_users = frozenset()
|
||||||
|
|
||||||
if sync_result_builer.since_token:
|
if sync_result_builder.since_token:
|
||||||
res = yield self._get_rooms_changed(sync_result_builer, ignored_users)
|
res = yield self._get_rooms_changed(sync_result_builder, ignored_users)
|
||||||
room_entries, invited, newly_joined_rooms = res
|
room_entries, invited, newly_joined_rooms = res
|
||||||
|
|
||||||
tags_by_room = yield self.store.get_updated_tags(
|
tags_by_room = yield self.store.get_updated_tags(
|
||||||
user_id,
|
user_id,
|
||||||
sync_result_builer.since_token.account_data_key,
|
sync_result_builder.since_token.account_data_key,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
res = yield self._get_all_rooms(sync_result_builer, ignored_users)
|
res = yield self._get_all_rooms(sync_result_builder, ignored_users)
|
||||||
room_entries, invited, newly_joined_rooms = res
|
room_entries, invited, newly_joined_rooms = res
|
||||||
|
|
||||||
tags_by_room = yield self.store.get_tags_for_user(user_id)
|
tags_by_room = yield self.store.get_tags_for_user(user_id)
|
||||||
|
|
||||||
def handle_room_entries(room_entry):
|
def handle_room_entries(room_entry):
|
||||||
return self._generate_room_entry(
|
return self._generate_room_entry(
|
||||||
sync_result_builer,
|
sync_result_builder,
|
||||||
ignored_users,
|
ignored_users,
|
||||||
room_entry,
|
room_entry,
|
||||||
ephemeral=ephemeral_by_room.get(room_entry.room_id, []),
|
ephemeral=ephemeral_by_room.get(room_entry.room_id, []),
|
||||||
tags=tags_by_room.get(room_entry.room_id),
|
tags=tags_by_room.get(room_entry.room_id),
|
||||||
account_data=account_data_by_room.get(room_entry.room_id, {}),
|
account_data=account_data_by_room.get(room_entry.room_id, {}),
|
||||||
always_include=sync_result_builer.full_state,
|
always_include=sync_result_builder.full_state,
|
||||||
)
|
)
|
||||||
|
|
||||||
yield concurrently_execute(handle_room_entries, room_entries, 10)
|
yield concurrently_execute(handle_room_entries, room_entries, 10)
|
||||||
|
|
||||||
sync_result_builer.invited.extend(invited)
|
sync_result_builder.invited.extend(invited)
|
||||||
|
|
||||||
# Now we want to get any newly joined users
|
# Now we want to get any newly joined users
|
||||||
newly_joined_users = set()
|
newly_joined_users = set()
|
||||||
for joined_sync in sync_result_builer.joined:
|
for joined_sync in sync_result_builder.joined:
|
||||||
it = itertools.chain(joined_sync.timeline.events, joined_sync.state.values())
|
it = itertools.chain(joined_sync.timeline.events, joined_sync.state.values())
|
||||||
for event in it:
|
for event in it:
|
||||||
if event.type == EventTypes.Member:
|
if event.type == EventTypes.Member:
|
||||||
@ -706,21 +706,21 @@ class SyncHandler(object):
|
|||||||
defer.returnValue((newly_joined_rooms, newly_joined_users))
|
defer.returnValue((newly_joined_rooms, newly_joined_users))
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _get_rooms_changed(self, sync_result_builer, ignored_users):
|
def _get_rooms_changed(self, sync_result_builder, ignored_users):
|
||||||
"""Gets the the changes that have happened since the last sync.
|
"""Gets the the changes that have happened since the last sync.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sync_result_builer(SyncResultBuilder)
|
sync_result_builder(SyncResultBuilder)
|
||||||
ignored_users(set(str)): Set of users ignored by user.
|
ignored_users(set(str)): Set of users ignored by user.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Deferred(tuple): Returns a tuple of the form:
|
Deferred(tuple): Returns a tuple of the form:
|
||||||
`([RoomSyncResultBuilder], [InvitedSyncResult], newly_joined_rooms)`
|
`([RoomSyncResultBuilder], [InvitedSyncResult], newly_joined_rooms)`
|
||||||
"""
|
"""
|
||||||
user_id = sync_result_builer.sync_config.user.to_string()
|
user_id = sync_result_builder.sync_config.user.to_string()
|
||||||
since_token = sync_result_builer.since_token
|
since_token = sync_result_builder.since_token
|
||||||
now_token = sync_result_builer.now_token
|
now_token = sync_result_builder.now_token
|
||||||
sync_config = sync_result_builer.sync_config
|
sync_config = sync_result_builder.sync_config
|
||||||
|
|
||||||
assert since_token
|
assert since_token
|
||||||
|
|
||||||
@ -843,11 +843,11 @@ class SyncHandler(object):
|
|||||||
defer.returnValue((room_entries, invited, newly_joined_rooms))
|
defer.returnValue((room_entries, invited, newly_joined_rooms))
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _get_all_rooms(self, sync_result_builer, ignored_users):
|
def _get_all_rooms(self, sync_result_builder, ignored_users):
|
||||||
"""Returns entries for all rooms for the user.
|
"""Returns entries for all rooms for the user.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sync_result_builer(SyncResultBuilder)
|
sync_result_builder(SyncResultBuilder)
|
||||||
ignored_users(set(str)): Set of users ignored by user.
|
ignored_users(set(str)): Set of users ignored by user.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
@ -855,10 +855,10 @@ class SyncHandler(object):
|
|||||||
`([RoomSyncResultBuilder], [InvitedSyncResult], [])`
|
`([RoomSyncResultBuilder], [InvitedSyncResult], [])`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
user_id = sync_result_builer.sync_config.user.to_string()
|
user_id = sync_result_builder.sync_config.user.to_string()
|
||||||
since_token = sync_result_builer.since_token
|
since_token = sync_result_builder.since_token
|
||||||
now_token = sync_result_builer.now_token
|
now_token = sync_result_builder.now_token
|
||||||
sync_config = sync_result_builer.sync_config
|
sync_config = sync_result_builder.sync_config
|
||||||
|
|
||||||
membership_list = (
|
membership_list = (
|
||||||
Membership.INVITE, Membership.JOIN, Membership.LEAVE, Membership.BAN
|
Membership.INVITE, Membership.JOIN, Membership.LEAVE, Membership.BAN
|
||||||
@ -914,14 +914,14 @@ class SyncHandler(object):
|
|||||||
defer.returnValue((room_entries, invited, []))
|
defer.returnValue((room_entries, invited, []))
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _generate_room_entry(self, sync_result_builer, ignored_users,
|
def _generate_room_entry(self, sync_result_builder, ignored_users,
|
||||||
room_builder, ephemeral, tags, account_data,
|
room_builder, ephemeral, tags, account_data,
|
||||||
always_include=False):
|
always_include=False):
|
||||||
"""Populates the `joined` and `archived` section of `sync_result_builer`
|
"""Populates the `joined` and `archived` section of `sync_result_builder`
|
||||||
based on the `room_builder`.
|
based on the `room_builder`.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sync_result_builer(SyncResultBuilder)
|
sync_result_builder(SyncResultBuilder)
|
||||||
ignored_users(set(str)): Set of users ignored by user.
|
ignored_users(set(str)): Set of users ignored by user.
|
||||||
room_builder(RoomSyncResultBuilder)
|
room_builder(RoomSyncResultBuilder)
|
||||||
ephemeral(list): List of new ephemeral events for room
|
ephemeral(list): List of new ephemeral events for room
|
||||||
@ -931,9 +931,9 @@ class SyncHandler(object):
|
|||||||
always_include(bool): Always include this room in the sync response,
|
always_include(bool): Always include this room in the sync response,
|
||||||
even if empty.
|
even if empty.
|
||||||
"""
|
"""
|
||||||
since_token = sync_result_builer.since_token
|
since_token = sync_result_builder.since_token
|
||||||
now_token = sync_result_builer.now_token
|
now_token = sync_result_builder.now_token
|
||||||
sync_config = sync_result_builer.sync_config
|
sync_config = sync_result_builder.sync_config
|
||||||
|
|
||||||
room_id = room_builder.room_id
|
room_id = room_builder.room_id
|
||||||
events = room_builder.events
|
events = room_builder.events
|
||||||
@ -941,7 +941,7 @@ class SyncHandler(object):
|
|||||||
full_state = (
|
full_state = (
|
||||||
room_builder.full_state
|
room_builder.full_state
|
||||||
or newly_joined
|
or newly_joined
|
||||||
or sync_result_builer.full_state
|
or sync_result_builder.full_state
|
||||||
)
|
)
|
||||||
since_token = room_builder.since_token
|
since_token = room_builder.since_token
|
||||||
upto_token = room_builder.upto_token
|
upto_token = room_builder.upto_token
|
||||||
@ -1001,7 +1001,7 @@ class SyncHandler(object):
|
|||||||
unread_notifications["notification_count"] = notifs["notify_count"]
|
unread_notifications["notification_count"] = notifs["notify_count"]
|
||||||
unread_notifications["highlight_count"] = notifs["highlight_count"]
|
unread_notifications["highlight_count"] = notifs["highlight_count"]
|
||||||
|
|
||||||
sync_result_builer.joined.append(room_sync)
|
sync_result_builder.joined.append(room_sync)
|
||||||
elif room_builder.rtype == "archived":
|
elif room_builder.rtype == "archived":
|
||||||
room_sync = ArchivedSyncResult(
|
room_sync = ArchivedSyncResult(
|
||||||
room_id=room_id,
|
room_id=room_id,
|
||||||
@ -1010,7 +1010,7 @@ class SyncHandler(object):
|
|||||||
account_data=account_data,
|
account_data=account_data,
|
||||||
)
|
)
|
||||||
if room_sync or always_include:
|
if room_sync or always_include:
|
||||||
sync_result_builer.archived.append(room_sync)
|
sync_result_builder.archived.append(room_sync)
|
||||||
else:
|
else:
|
||||||
raise Exception("Unrecognized rtype: %r", room_builder.rtype)
|
raise Exception("Unrecognized rtype: %r", room_builder.rtype)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user