diff options
author | Travis Ralston <travpc@gmail.com> | 2018-10-12 16:24:07 -0600 |
---|---|---|
committer | Travis Ralston <travpc@gmail.com> | 2018-10-12 16:24:07 -0600 |
commit | 7ede6509561ebe4c217210ea3431421fcf9910b2 (patch) | |
tree | 146a92462af13f48ca90f5096394d34b573eb393 /synapse/visibility.py | |
parent | Changelog (diff) | |
parent | Make workers work on Py3 (#4027) (diff) | |
download | synapse-7ede6509561ebe4c217210ea3431421fcf9910b2.tar.xz |
Merge branch 'develop' into travis/login-terms
Diffstat (limited to 'synapse/visibility.py')
-rw-r--r-- | synapse/visibility.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/synapse/visibility.py b/synapse/visibility.py index d4680863d3..c64ad2144c 100644 --- a/synapse/visibility.py +++ b/synapse/visibility.py @@ -324,14 +324,13 @@ def filter_events_for_server(store, server_name, events): # server's domain. # # event_to_state_ids contains lots of duplicates, so it turns out to be - # cheaper to build a complete set of unique - # ((type, state_key), event_id) tuples, and then filter out the ones we - # don't want. + # cheaper to build a complete event_id => (type, state_key) dict, and then + # filter out the ones we don't want # - state_key_to_event_id_set = { - e + event_id_to_state_key = { + event_id: key for key_to_eid in itervalues(event_to_state_ids) - for e in key_to_eid.items() + for key, event_id in iteritems(key_to_eid) } def include(typ, state_key): @@ -346,7 +345,7 @@ def filter_events_for_server(store, server_name, events): event_map = yield store.get_events([ e_id - for key, e_id in state_key_to_event_id_set + for e_id, key in iteritems(event_id_to_state_key) if include(key[0], key[1]) ]) |