From 5c99ebe8ccce8977b6cacc504a3eb2ae9d67fe92 Mon Sep 17 00:00:00 2001 From: Peter Thompson Date: Thu, 9 Jul 2020 09:57:14 -0700 Subject: [PATCH 1/5] fix: change datafile accessor methods to return a JSON representation of the datafile --- optimizely/optimizely_config.py | 6 +++--- optimizely/project_config.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/optimizely/optimizely_config.py b/optimizely/optimizely_config.py index e429c3c4..b0df1cb6 100644 --- a/optimizely/optimizely_config.py +++ b/optimizely/optimizely_config.py @@ -21,15 +21,15 @@ def __init__(self, revision, experiments_map, features_map, datafile=None): self.revision = revision self.experiments_map = experiments_map self.features_map = features_map - self.datafile = datafile + self._datafile = datafile def get_datafile(self): """ Get the datafile associated with OptimizelyConfig. Returns: - A JSON string representation of the environment's datafile. + A JSON representation of the environment's datafile. """ - return self.datafile + return self._datafile class OptimizelyExperiment(object): diff --git a/optimizely/project_config.py b/optimizely/project_config.py index 344be542..2be1bea2 100644 --- a/optimizely/project_config.py +++ b/optimizely/project_config.py @@ -40,7 +40,7 @@ def __init__(self, datafile, logger, error_handler): """ config = json.loads(datafile) - self._datafile = datafile + self._datafile = config self.logger = logger self.error_handler = error_handler self.version = config.get('version') @@ -196,7 +196,7 @@ def to_datafile(self): """ Get the datafile corresponding to ProjectConfig. Returns: - A JSON string representation of the project datafile. + A JSON representation of the project datafile. """ return self._datafile From 97367fa927b4161b356bce7be8912a4b87680c0a Mon Sep 17 00:00:00 2001 From: Peter Thompson Date: Thu, 9 Jul 2020 13:06:40 -0700 Subject: [PATCH 2/5] fix: change datafile accessor methods to return string instead of byte array of the datafile --- optimizely/optimizely_config.py | 2 +- optimizely/project_config.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/optimizely/optimizely_config.py b/optimizely/optimizely_config.py index b0df1cb6..52887d43 100644 --- a/optimizely/optimizely_config.py +++ b/optimizely/optimizely_config.py @@ -27,7 +27,7 @@ def get_datafile(self): """ Get the datafile associated with OptimizelyConfig. Returns: - A JSON representation of the environment's datafile. + A JSON string representation of the environment's datafile. """ return self._datafile diff --git a/optimizely/project_config.py b/optimizely/project_config.py index 2be1bea2..fbd4d41f 100644 --- a/optimizely/project_config.py +++ b/optimizely/project_config.py @@ -40,7 +40,7 @@ def __init__(self, datafile, logger, error_handler): """ config = json.loads(datafile) - self._datafile = config + self._datafile = str(datafile) self.logger = logger self.error_handler = error_handler self.version = config.get('version') @@ -196,7 +196,7 @@ def to_datafile(self): """ Get the datafile corresponding to ProjectConfig. Returns: - A JSON representation of the project datafile. + A JSON string representation of the project datafile. """ return self._datafile From 7b01de79f75c0b05a96c2d95e9ff237c9b3773cd Mon Sep 17 00:00:00 2001 From: Peter Thompson Date: Thu, 9 Jul 2020 13:57:24 -0700 Subject: [PATCH 3/5] test: update optimizely config datafile var name in test --- tests/test_optimizely_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_optimizely_config.py b/tests/test_optimizely_config.py index 0ccbeb0d..695cdc91 100644 --- a/tests/test_optimizely_config.py +++ b/tests/test_optimizely_config.py @@ -456,7 +456,7 @@ def setUp(self): } }, 'revision': '1', - 'datafile': json.dumps(self.config_dict_with_features) + '_datafile': json.dumps(self.config_dict_with_features) } self.actual_config = self.opt_config_service.get_config() From cc57cd44220a2300fc359c373687bcb0b3995557 Mon Sep 17 00:00:00 2001 From: Peter Thompson Date: Thu, 9 Jul 2020 16:11:36 -0700 Subject: [PATCH 4/5] refactor: add string encoding --- optimizely/project_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optimizely/project_config.py b/optimizely/project_config.py index fbd4d41f..f80b389a 100644 --- a/optimizely/project_config.py +++ b/optimizely/project_config.py @@ -40,7 +40,7 @@ def __init__(self, datafile, logger, error_handler): """ config = json.loads(datafile) - self._datafile = str(datafile) + self._datafile = datafile.encode('utf-8') self.logger = logger self.error_handler = error_handler self.version = config.get('version') From 6357c048d5c92a2034986236db467f7563b77370 Mon Sep 17 00:00:00 2001 From: aliabbasrizvi Date: Tue, 21 Jul 2020 10:16:05 -0700 Subject: [PATCH 5/5] Setting as unicode --- optimizely/project_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optimizely/project_config.py b/optimizely/project_config.py index f80b389a..8d608890 100644 --- a/optimizely/project_config.py +++ b/optimizely/project_config.py @@ -40,7 +40,7 @@ def __init__(self, datafile, logger, error_handler): """ config = json.loads(datafile) - self._datafile = datafile.encode('utf-8') + self._datafile = u'{}'.format(datafile) self.logger = logger self.error_handler = error_handler self.version = config.get('version')