diff options
author | Erik Johnston <erik@matrix.org> | 2016-08-25 18:15:51 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-08-25 18:15:51 +0100 |
commit | 0e1900d8193a612d6920a9eca0aec4813e17d355 (patch) | |
tree | 0fb6bb7026bb02525df63f6e06563ea54cfdef5e /synapse/state.py | |
parent | Add desc (diff) | |
download | synapse-0e1900d8193a612d6920a9eca0aec4813e17d355.tar.xz |
Pull out full state less
Diffstat (limited to 'synapse/state.py')
-rw-r--r-- | synapse/state.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/synapse/state.py b/synapse/state.py index 2a01887a67..78461215ca 100644 --- a/synapse/state.py +++ b/synapse/state.py @@ -95,15 +95,19 @@ class StateHandler(object): _, state = yield self.resolve_state_groups(room_id, latest_event_ids) + if event_type: + event_id = state.get((event_type, state_key)) + event = None + if event_id: + event = yield self.store.get_event(event_id, allow_none=True) + defer.returnValue(event) + return + state_map = yield self.store.get_events(state.values(), get_prev_content=False) state = { key: state_map[e_id] for key, e_id in state.items() if e_id in state_map } - if event_type: - defer.returnValue(state.get((event_type, state_key))) - return - defer.returnValue(state) @defer.inlineCallbacks |