summary refs log tree commit diff
path: root/synapse/api
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-01-25 16:58:39 +0000
committerErik Johnston <erik@matrix.org>2016-01-25 16:58:39 +0000
commitc887c4cbd5366ecb59b739d298e520414ca12dee (patch)
treec0913b6f147b4adff5f0c8507f4325d61e321205 /synapse/api
parentMerge pull request #525 from matrix-org/erikj/select_many (diff)
parentPEP8 (diff)
downloadsynapse-c887c4cbd5366ecb59b739d298e520414ca12dee.tar.xz
Merge pull request #524 from matrix-org/erikj/sync
Move some sync logic from rest to handlers pacakege
Diffstat (limited to '')
-rw-r--r--synapse/api/filtering.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/synapse/api/filtering.py b/synapse/api/filtering.py

index 5530b8c48f..6c13ada5df 100644 --- a/synapse/api/filtering.py +++ b/synapse/api/filtering.py
@@ -190,18 +190,16 @@ class Filter(object): Returns: bool: True if the event matches """ - if isinstance(event, dict): - return self.check_fields( - event.get("room_id", None), - event.get("sender", None), - event.get("type", None), - ) - else: - return self.check_fields( - getattr(event, "room_id", None), - getattr(event, "sender", None), - event.type, - ) + sender = event.get("sender", None) + if not sender: + # Presence events have their 'sender' in content.user_id + sender = event.get("content", {}).get("user_id", None) + + return self.check_fields( + event.get("room_id", None), + sender, + event.get("type", None), + ) def check_fields(self, room_id, sender, event_type): """Checks whether the filter matches the given event fields.