Skip to content

Commit 62d41b9

Browse files
Tomas-PytelTomas-Pytel
authored andcommitted
Class rewrite
TODO: Readme
1 parent c299707 commit 62d41b9

1 file changed

Lines changed: 25 additions & 25 deletions

File tree

fastapi_featureflags/main.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,32 @@ class FeatureFlags(object):
77
conf_from_url = None
88
features = {}
99

10-
def __init__(
11-
self,
12-
conf_from_json: str = "",
13-
conf_from_url: str = "",
14-
**kwargs,
15-
):
16-
self.handle_config(conf_from_json, conf_from_url)
17-
18-
def handle_config(self, conf_from_json, conf_from_url):
19-
if conf_from_json:
20-
self.conf_from_json = conf_from_json
21-
with open(conf_from_json, "r") as f:
22-
params = json.loads(f.read())
23-
for k, v in params.items():
24-
self.features[k] = v
25-
elif conf_from_url:
26-
self.conf_from_url = conf_from_url
27-
params = requests.get(conf_from_url).json()
28-
# print(params)
10+
@staticmethod
11+
def load_conf_from_url(conf_from_url):
12+
FeatureFlags.conf_from_url = conf_from_url
13+
params = requests.get(conf_from_url).json()
14+
for k, v in params.items():
15+
FeatureFlags.features[k] = v
16+
17+
@staticmethod
18+
def load_conf_from_json(conf_from_json):
19+
FeatureFlags.conf_from_json = conf_from_json
20+
with open(conf_from_json, "r") as f:
21+
params = json.loads(f.read())
2922
for k, v in params.items():
30-
self.features[k] = v
31-
return True
32-
33-
def reload_feature_flags(self):
34-
self.handle_config(self.conf_from_json, self.conf_from_url)
35-
return True
23+
FeatureFlags.features[k] = v
24+
25+
@staticmethod
26+
def reload_feature_flags():
27+
FeatureFlags.features = {}
28+
if FeatureFlags.conf_from_url:
29+
FeatureFlags.load_conf_from_url(FeatureFlags.conf_from_url)
30+
return True
31+
elif FeatureFlags.conf_from_json:
32+
FeatureFlags.load_conf_from_json(FeatureFlags.conf_from_json)
33+
return True
34+
else:
35+
return False
3636

3737
@classmethod
3838
def handle_feature(cls, feature_name):

0 commit comments

Comments
 (0)