Passed
Push — develop ( 456c9f...9a88f4 )
by Dean
03:13
created

SessionPrefix   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Test Coverage

Coverage 0%
Metric Value
dl 0
loc 33
ccs 0
cts 18
cp 0
rs 10
wmc 6

4 Methods

Rating   Name   Duplication   Size   Complexity  
A _get() 0 3 1
A _set() 0 3 1
A increment() 0 14 2
A get() 0 9 2
1
from plugin.core.environment import Environment
2
3
import logging
4
5
log = logging.getLogger(__name__)
6
7
8
class SessionPrefix(object):
9
    @classmethod
10
    def get(cls):
11
        prefix = cls._get()
12
13
        # Initial
14
        if prefix is None:
15
            return cls.increment()
16
17
        return prefix
18
19
    @classmethod
20
    def increment(cls):
21
        prefix = Environment.dict['session.prefix']
22
23
        if prefix is None:
24
            prefix = 1
25
        else:
26
            prefix += 1
27
28
        # Update session prefix
29
        cls._set(prefix)
30
31
        log.debug('Incremented session prefix to %r', prefix)
32
        return prefix
33
34
    @classmethod
35
    def _get(cls):
36
        return Environment.dict['session.prefix']
37
38
    @classmethod
39
    def _set(cls, prefix):
40
        Environment.dict['session.prefix'] = prefix
41