Files
dss/core/realtime/notification.py
2014-05-25 15:49:22 +01:00

36 lines
939 B
Python

import requests
import logging
import redis
from core.serialisers import json
from dss import localsettings
# TODO(fergal.moran@gmail.com): refactor these out to
# classes to avoid duplicating constants below
HEADERS = {
'content-type': 'application/json'
}
logger = logging.getLogger('spa')
def post_notification(user, message):
try:
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.publish('realtime', user.username + ': ' + message)
except:
logger.exception("Error posting redis notification")
def _post_notification(notification_url, session=None):
payload = {'message': notification_url}
if session:
payload['session_id'] = session
data = json.dumps(payload)
r = requests.post(localsettings.REALTIME_HOST + '/api/notification',
data=data, headers=HEADERS)
if r.status_code == 200:
return ""
else:
return r.text