import redis

r = redis.Redis("localhost")

def add_user(user):
    if r.sadd("users", user.pk):
        return True
    return False

def push_notice(user, message, expire=True):
    if not message or not hasattr(user, 'pk'):
        return False

    key = 'user:%s:notices' % user.pk

    if r.rpush(key, message):
        if expire:
            r.expire(key, 15)
        return True
    return False

def get_notices(user):
    if not hasattr(user, 'pk'):
        return (False, None)

    key = 'user:%s:notices' % user.pk
    llen = r.llen(key)
    if llen == 0:
        return (False, None)

    data = r.lrange(key, 0, llen - 1)
    r.ltrim(key, llen, -1)
    return (True, data)

@@ -281,16 +281,29 @@
 ser.pk%0A%0A
+    try:%0A    
     if r
@@ -332,16 +332,20 @@
         
+    
 if expir
@@ -347,16 +347,20 @@
 expire:%0A
+    
         
@@ -381,32 +381,36 @@
 ey, 15)%0A        
+    
 return True%0A    
@@ -397,32 +397,79 @@
     return True%0A
+    except redis.ConnectionError:%0A        pass%0A
     return False
@@ -593,16 +593,29 @@
 user.pk%0A
+    try:%0A    
     llen
@@ -629,16 +629,20 @@
 en(key)%0A
+    
     if l
@@ -651,32 +651,36 @@
 n == 0:%0A        
+ 
+   
 return (False, N
@@ -689,16 +689,20 @@
 e)%0A%0A    
+  
+  
 data = r
@@ -727,16 +727,20 @@
 en - 1)%0A
+    
     r.lt
@@ -758,16 +758,20 @@
 en, -1)%0A
+    
     retu
@@ -786,8 +786,71 @@
 , data)%0A
+    except redis.ConnectionError:%0A        return (False, None)%0A

add check for redis connection