@@ -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