summaryrefslogtreecommitdiffstats
path: root/nfsw/redis.py
blob: 056a38542c8b645b3cc30a08de5f90614ceb0d36 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from redis import Redis

from flask import current_app, g, session

def keys():
    """List of keys used by nfsw"""
    return [
        k('log'),

        k('scene'),
        k('scene:sexshop:gg'),
        k('scenes:done'),


        k('player:type'),
        k('player:type:body'),
        k('player:type:mind'),


    ]

def redis():
    if 'redis' in g:
        return g.redis

    g.redis = Redis()

    return g.redis


def key(prefix):
    if 'user_id' in session:
        return '{}:{}'.format(prefix, session['user_id'])
    else:
        return prefix


def redisc():
    if 'redisc' in g:
        return g.redisc

    g.redisc = RedisC()

    return g.redisc


class RedisC:
    r = None

    def __init__(self):
        self.r = Redis()


    def key(self, k):
        if 'user_id' in session:
            return '{}:{}'.format(k, session['user_id'])
        else:
            return k


    def exists(self, k):
        k = self.key(k)

        return self.r.exists(k)


    def set(self, k, v):
        k = self.key(k)

        return self.r.set(k, v)


    def delete(self, k):
        k = self.key(k)

        return self.r.delete(k)