Commit 646e7b1d8d8fa125405bea4f4ea905a885a16d95

Authored by Andrew Buss
Exists in master

Merge branch 'master' of git.ucsd.edu:110swag/flashy-backend

Showing 1 changed file Inline Diff

flashcards/notifications.py View file @ 646e7b1
import serializers 1 1 import serializers
from rest_framework.renderers import JSONRenderer 2 2 from rest_framework.renderers import JSONRenderer
from ws4redis.publisher import RedisPublisher 3 3 from ws4redis.publisher import RedisPublisher
from ws4redis.redis_store import RedisMessage 4 4 from ws4redis.redis_store import RedisMessage
from ws4redis.redis_store import SELF 5 5 from ws4redis.redis_store import SELF
6 6
7 7
def notify_score_change(flashcard): 8 8 def notify_score_change(flashcard):
redis_publisher = RedisPublisher(facility='feed/%d' % flashcard.section_id, broadcast=True) 9 9 redis_publisher = RedisPublisher(facility='feed/%d' % flashcard.section_id, broadcast=True)
ws_message = JSONRenderer().render( 10 10 ws_message = JSONRenderer().render(
{'event_type': 'score_change', 'new_score': flashcard.score, 'flashcard_id': flashcard.pk}) 11 11 {'event_type': 'score_change', 'new_score': flashcard.score, 'flashcard_id': flashcard.pk})
message = RedisMessage(ws_message) 12 12 message = RedisMessage(ws_message)
redis_publisher.publish_message(message) 13 13 redis_publisher.publish_message(message)
14 14
15 15
def notify_new_card(flashcard): 16 16 def notify_new_card(flashcard):
redis_publisher = RedisPublisher(facility='feed/%d' % flashcard.section_id, broadcast=True) 17 17 redis_publisher = RedisPublisher(facility='feed/%d' % flashcard.section_id, broadcast=True)
ws_message = JSONRenderer().render( 18 18 ws_message = JSONRenderer().render(
{'event_type': 'new_card', 'flashcard': serializers.FlashcardSerializer(flashcard).data}) 19 19 {'event_type': 'new_card', 'flashcard': serializers.FlashcardSerializer(flashcard).data})
message = RedisMessage(ws_message) 20 20 message = RedisMessage(ws_message)
redis_publisher.publish_message(message) 21 21 redis_publisher.publish_message(message)
22 22
def notify_pull(flashcard): 23 23 def notify_pull(flashcard):
redis_publisher = RedisPublisher(facility='deck/%d' % flashcard.section_id, users=[SELF]) 24 24 redis_publisher = RedisPublisher(facility='deck/%d' % flashcard.section_id, users=[SELF])
ws_message = JSONRenderer().render( 25 25 ws_message = JSONRenderer().render(
{'event_type': 'pull_card', 'flashcard': serializers.FlashcardSerializer(flashcard).data}) 26 26 {'event_type': 'pull_card', 'flashcard': serializers.FlashcardSerializer(flashcard).data})
message = RedisMessage(ws_message) 27 27 message = RedisMessage(ws_message)
redis_publisher.publish_message(message) 28 28 redis_publisher.publish_message(message)
29
30 def notify_deck_new_card(flashcard):