Skip to content

Commit e2cccb8

Browse files
committed
Works on this
1 parent 0f2cf5a commit e2cccb8

File tree

2 files changed

+12
-35
lines changed

2 files changed

+12
-35
lines changed

optimizely/optimizely.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,7 @@ def get_forced_variation(self, experiment_key, user_id):
736736
return forced_variation.key if forced_variation else None
737737

738738

739-
def get_optimizely_config():
739+
def get_optimizely_config(self):
740740
if not self.is_valid:
741741
self.logger.error(enums.Errors.INVALID_OPTIMIZELY.format('get_optimizely_config'))
742742
return None
@@ -746,4 +746,4 @@ def get_optimizely_config():
746746
self.logger.error(enums.Errors.INVALID_PROJECT_CONFIG.format('get_optimizely_config'))
747747
return None
748748

749-
return OptimizelyConfigBuilder.get_config(project_config)
749+
return OptimizelyConfigBuilder(project_config).get_optimizely_config()

optimizely/optimizely_config.py

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ def __init__(self, id, key, type, value):
5050
class OptimizelyConfigBuilder(object):
5151

5252
def __init__(self, project_config):
53-
self.experiments = project_config.get('experiments', [])
54-
self.feature_flags = project_config.get('featureFlags', [])
55-
self.groups = config.get('groups', [])
56-
self.revision = config.get('revision')
53+
self.experiments = project_config.experiments
54+
self.feature_flags = project_config.feature_flags
55+
self.groups = project_config.groups
56+
self.revision = project_config.revision
5757

5858
def get_optimizely_config(self):
5959
experiments_map = self._get_experiments_map()
@@ -62,13 +62,13 @@ def get_optimizely_config(self):
6262
return OptimizelyConfig(self.revision, experiments_map, features_map)
6363

6464
def _get_feature_variable_by_id(self, variable_id, feature_flag):
65-
for variable in feature_flag.get('variables', None):
65+
for variable in feature_flag.get('variables', []):
6666
if variable_id == variable['id']:
6767
return variable
6868
return None
6969

70-
def _get_featureflag_by_experiment_id(self, experiment_id, feature_flags):
71-
for feature in feature_flags:
70+
def _get_featureflag_by_experiment_id(self, experiment_id):
71+
for feature in self.feature_flags:
7272
for id in feature['experimentIds']:
7373
if id == experiment_id:
7474
return feature
@@ -81,8 +81,8 @@ def _get_experiment_by_id(self, experiment_id, experiments_map):
8181

8282
return None
8383

84-
def _get_variables_map(self, variation, experiment, feature_flags):
85-
feature_flag = self._get_featureflag_by_experiment_id(experiment['id'], feature_flags)
84+
def _get_variables_map(self, variation, experiment):
85+
feature_flag = self._get_featureflag_by_experiment_id(experiment['id'])
8686
if feature_flag is None:
8787
return {}
8888

@@ -107,7 +107,7 @@ def _get_variations_map(self, experiment):
107107
variations_map = {}
108108

109109
for variation in experiment.get('variations', []):
110-
variables_map = self._get_variables_map(variation, experiment, self.feature_flags)
110+
variables_map = self._get_variables_map(variation, experiment)
111111
feature_enabled = variation.get('featureEnabled', None)
112112

113113
optly_variation = OptimizelyVariation(
@@ -167,26 +167,3 @@ def _get_features_map(self, experiments_map):
167167

168168

169169
return features_map
170-
171-
172-
173-
def _readfile():
174-
with open('feature_variables.json', 'r') as datafile:
175-
return datafile.read()
176-
177-
178-
datafile = _readfile()
179-
config = json.loads(datafile)
180-
181-
opt_builder = OptimizelyConfigBuilder(config)
182-
183-
response = opt_builder.get_optimizely_config()
184-
185-
186-
import pprint
187-
pp = pprint.PrettyPrinter(indent=2)
188-
pp.pprint(json.dumps(response.__dict__, default= lambda o: o.__dict__))
189-
190-
191-
# print(response.__dict__)
192-

0 commit comments

Comments
 (0)