Skip to content

Commit 539e615

Browse files
committed
fixed mark seen and mark read support
1 parent 951bcef commit 539e615

4 files changed

Lines changed: 33 additions & 5 deletions

File tree

CHANGELOG

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
Change history
33
================
44

5+
2.1.3
6+
=====
7+
:release-date: 2015-01-05
8+
:by: Thierry Schellenbach
9+
10+
* Bugfix, mark_seen and mark_read now work
11+
512
2.1.0
613
=====
714
:release-date: 2014-12-19

stream/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
__copyright__ = 'Copyright 2014, Thierry Schellenbach'
66
__credits__ = ['Thierry Schellenbach, mellowmorning.com, @tschellenbach']
77
__license__ = 'BSD'
8-
__version__ = '2.1.2'
8+
__version__ = '2.1.3'
99
__maintainer__ = 'Thierry Schellenbach'
1010
__email__ = '[email protected]'
1111
__status__ = 'Production'

stream/feed.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,10 @@ def get(self, **params):
9696
# slow pagination using offset
9797
feed.get(limit=10, offset=10)
9898
'''
99-
mark_read = params.get('mark_read')
100-
if isinstance(mark_read, (list, tuple)):
101-
params['mark_read'] = ','.join(mark_read)
99+
for field in ['mark_read', 'mark_seen']:
100+
value = params.get(field)
101+
if isinstance(value, (list, tuple)):
102+
params[field] = ','.join(value)
102103
response = self.client.get(
103104
self.feed_url, params=params, signature=self.signature)
104105
return response

stream/tests.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,9 +365,29 @@ def test_mark_read(self):
365365
for activity in activities:
366366
self.assertFalse(activity['is_read'])
367367
activities = notification_feed.get(mark_read=True)['results']
368+
activities = notification_feed.get(limit=2)['results']
369+
self.assertTrue(activities[0]['is_read'])
370+
self.assertTrue(activities[1]['is_read'])
371+
372+
def test_mark_seen(self):
373+
notification_feed = getfeed('notification', 'py3')
374+
activity_data = {'actor': 1, 'verb': 'tweet', 'object': 1}
375+
activity_id = notification_feed.add_activity(activity_data)['id']
376+
activity_data = {'actor': 2, 'verb': 'add', 'object': 2}
377+
activity_id_two = notification_feed.add_activity(activity_data)['id']
378+
activity_data = {'actor': 3, 'verb': 'watch', 'object': 3}
379+
activity_id_three = notification_feed.add_activity(activity_data)['id']
368380
activities = notification_feed.get(limit=3)['results']
369381
for activity in activities:
370-
self.assertTrue(activity['is_read'])
382+
self.assertFalse(activity['is_seen'])
383+
384+
activities = notification_feed.get(limit=3)['results']
385+
activities = notification_feed.get(mark_seen=[activities[0]['id'], activities[1]['id']])['results']
386+
activities = notification_feed.get(limit=3)['results']
387+
# is the seen state correct
388+
self.assertTrue(activities[0]['is_seen'])
389+
self.assertTrue(activities[1]['is_seen'])
390+
self.assertFalse(activities[2]['is_seen'])
371391

372392
def test_mark_read_by_id(self):
373393
notification_feed = getfeed('notification', 'py2')

0 commit comments

Comments
 (0)