Skip to content

Commit 23380af

Browse files
committed
polishing
1 parent 9e94dcd commit 23380af

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

splitio/storage/inmemmory.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,19 @@ class FlagSetsFilter(object):
1717
"""Config Flagsets Filter storage."""
1818

1919
def __init__(self, flag_sets=[]):
20+
"""Constructor."""
2021
self.flag_sets = set(flag_sets)
2122
self.should_filter = any(flag_sets)
2223

2324
def set_exist(self, flag_set):
25+
"""
26+
Check if a flagset exist in flagset filter
27+
28+
:param flag_set: set name
29+
:type flag_set: str
30+
31+
:rtype: bool
32+
"""
2433
if not self.should_filter:
2534
return True
2635
if not isinstance(flag_set, str) or flag_set == '':
@@ -29,6 +38,14 @@ def set_exist(self, flag_set):
2938
return any(self.flag_sets.intersection(set([flag_set])))
3039

3140
def intersect(self, flag_sets):
41+
"""
42+
Check if a set exist in config flagset filter
43+
44+
:param flag_set: set of flagsets
45+
:type flag_set: set
46+
47+
:rtype: bool
48+
"""
3249
if not self.should_filter:
3350
return True
3451
if not isinstance(flag_sets, set) or len(flag_sets) == 0:
@@ -40,36 +57,81 @@ class FlagSets(object):
4057
"""InMemory Flagsets storage."""
4158

4259
def __init__(self, flag_sets=[]):
60+
"""Constructor."""
4361
self._lock = threading.RLock()
4462
self.sets_feature_flag_map = {}
4563
for flag_set in flag_sets:
4664
self.sets_feature_flag_map[flag_set] = set()
4765

4866
def flag_set_exist(self, flag_set):
67+
"""
68+
Check if a flagset exist in stored flagset
69+
70+
:param flag_set: set name
71+
:type flag_set: str
72+
73+
:rtype: bool
74+
"""
4975
with self._lock:
5076
return flag_set in self.sets_feature_flag_map.keys()
5177

5278
def get_flag_set(self, flag_set):
79+
"""
80+
fetch feature flags stored in a flag set
81+
82+
:param flag_set: set name
83+
:type flag_set: str
84+
85+
:rtype: list(str)
86+
"""
5387
with self._lock:
5488
if self.flag_set_exist(flag_set):
5589
return self.sets_feature_flag_map[flag_set]
5690

5791
def add_flag_set(self, flag_set):
92+
"""
93+
Add new flag set to storage
94+
95+
:param flag_set: set name
96+
:type flag_set: str
97+
"""
5898
with self._lock:
5999
if not self.flag_set_exist(flag_set):
60100
self.sets_feature_flag_map[flag_set] = set()
61101

62102
def remove_flag_set(self, flag_set):
103+
"""
104+
Remove existing flag set from storage
105+
106+
:param flag_set: set name
107+
:type flag_set: str
108+
"""
63109
with self._lock:
64110
if self.flag_set_exist(flag_set):
65111
del self.sets_feature_flag_map[flag_set]
66112

67113
def add_feature_flag_to_flag_set(self, flag_set, feature_flag):
114+
"""
115+
Add a feature flag to existing flag set
116+
117+
:param flag_set: set name
118+
:type flag_set: str
119+
:param feature_flag: feature flag name
120+
:type feature_flag: str
121+
"""
68122
with self._lock:
69123
if self.flag_set_exist(flag_set):
70124
self.sets_feature_flag_map[flag_set].add(feature_flag)
71125

72126
def remove_feature_flag_to_flag_set(self, flag_set, feature_flag):
127+
"""
128+
Remove a feature flag from existing flag set
129+
130+
:param flag_set: set name
131+
:type flag_set: str
132+
:param feature_flag: feature flag name
133+
:type feature_flag: str
134+
"""
73135
with self._lock:
74136
if self.flag_set_exist(flag_set):
75137
self.sets_feature_flag_map[flag_set].remove(feature_flag)

0 commit comments

Comments
 (0)