Skip to content

Commit e20e102

Browse files
committed
Updated strategies
1 parent 49bd4a1 commit e20e102

File tree

4 files changed

+152
-140
lines changed

4 files changed

+152
-140
lines changed

splitio/engine/impressions/strategies.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,13 @@ def process_impressions(self, impressions):
3838
:returns: Tuple of to be stored, observed and counted impressions, and unique keys tuple
3939
:rtype: list[tuple[splitio.models.impression.Impression, dict]], list[], list[], list[]
4040
"""
41-
imps = [(self._observer.test_and_set(imp), attrs) for imp, attrs in impressions]
41+
imps = []
42+
for imp, attrs in impressions:
43+
if imp.properties is not None:
44+
continue
45+
46+
imps.append((self._observer.test_and_set(imp), attrs))
47+
4248
return [i for i, _ in imps], imps, [], []
4349

4450
class StrategyNoneMode(BaseStrategy):
@@ -85,7 +91,13 @@ def process_impressions(self, impressions):
8591
:returns: Tuple of to be stored, observed and counted impressions, and unique keys tuple
8692
:rtype: list[tuple[splitio.models.impression.Impression, dict]], list[splitio.models.impression.Impression], list[splitio.models.impression.Impression], list[]
8793
"""
88-
imps = [(self._observer.test_and_set(imp), attrs) for imp, attrs in impressions]
94+
imps = []
95+
for imp, attrs in impressions:
96+
if imp.properties is not None:
97+
continue
98+
99+
imps.append((self._observer.test_and_set(imp), attrs))
100+
89101
counter_imps = [imp for imp, _ in imps if imp.previous_time != None]
90102
this_hour = truncate_time(utctime_ms())
91103
return [i for i, _ in imps if i.previous_time is None or i.previous_time < this_hour], imps, counter_imps, []

splitio/models/impressions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
'bucketing_key',
1414
'time',
1515
'previous_time',
16-
'impression_properties'
16+
'properties'
1717
]
1818
)
1919

tests/api/test_impressions_api.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
from splitio.storage.inmemmory import InMemoryTelemetryStorage, InMemoryTelemetryStorageAsync
1515

1616
impressions_mock = [
17-
Impression('k1', 'f1', 'on', 'l1', 123456, 'b1', 321654),
18-
Impression('k2', 'f2', 'off', 'l1', 123456, 'b1', 321654),
19-
Impression('k3', 'f1', 'on', 'l1', 123456, 'b1', 321654)
17+
Impression('k1', 'f1', 'on', 'l1', 123456, 'b1', 321654, {}),
18+
Impression('k2', 'f2', 'off', 'l1', 123456, 'b1', 321654, {}),
19+
Impression('k3', 'f1', 'on', 'l1', 123456, 'b1', 321654, {})
2020
]
2121
expectedImpressions = [{
2222
'f': 'f1',

0 commit comments

Comments
 (0)