File size: 501 Bytes
98e7562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Hacky way to provide global session.
import sys

GLOBAL_CONTAINER = sys


class GlobalState(object):

    def __new__(cls, key="default"):
        if not hasattr(GLOBAL_CONTAINER, '_global_states'):
            GLOBAL_CONTAINER._global_states = {}
            print("Global state container created")

        if not GLOBAL_CONTAINER._global_states.get(key):
            GLOBAL_CONTAINER._global_states[key] = super(GlobalState, cls).__new__(cls)

        return GLOBAL_CONTAINER._global_states[key]