Allow guest access if the user provides a list of rooms in the filter

This commit is contained in:
Mark Haines 2015-12-22 10:25:46 +00:00
parent 489a4cd1cf
commit 45a9e0ae0c
3 changed files with 22 additions and 1 deletions

View file

@ -144,6 +144,9 @@ class FilterCollection(object):
"include_leave", False
)
def list_rooms(self):
return self.room_filter.list_rooms()
def timeline_limit(self):
return self.room_timeline_filter.limit()
@ -176,6 +179,15 @@ class Filter(object):
def __init__(self, filter_json):
self.filter_json = filter_json
def list_rooms(self):
"""The list of room_id strings this filter restricts the output to
or None if the this filter doesn't list the room ids.
"""
if "rooms" in self.filter_json:
return list(set(self.filter_json["rooms"]))
else:
return None
def check(self, event):
"""Checks whether the filter matches the given event.