Skip to content

Commit b1ed928

Browse files
Merge pull request #30 from Flagsmith/release/3.0.1
Release 3.0.1
2 parents ae5c502 + 1dffb65 commit b1ed928

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

flagsmith/analytics.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def flush(self):
5353
self.analytics_data.clear()
5454
self._last_flushed = datetime.now()
5555

56-
def track_feature(self, feature_id: int):
57-
self.analytics_data[feature_id] = self.analytics_data.get(feature_id, 0) + 1
56+
def track_feature(self, feature_name: str):
57+
self.analytics_data[feature_name] = self.analytics_data.get(feature_name, 0) + 1
5858
if (datetime.now() - self._last_flushed).seconds > ANALYTICS_TIMER:
5959
self.flush()

flagsmith/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ def get_flag(self, feature_name: str) -> BaseFlag:
136136
return self.default_flag_handler(feature_name)
137137
raise FlagsmithClientError("Feature does not exist: %s" % feature_name)
138138

139-
if self._analytics_processor and hasattr(flag, "feature_id"):
140-
self._analytics_processor.track_feature(flag.feature_id)
139+
if self._analytics_processor and hasattr(flag, "feature_name"):
140+
self._analytics_processor.track_feature(flag.feature_name)
141141

142142
return flag
143143

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "flagsmith"
3-
version = "3.0.0"
3+
version = "3.0.1"
44
description = "Flagsmith Python SDK"
55
authors = ["Flagsmith <support@flagsmith.com>"]
66
license = "BSD3"

tests/test_analytics.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77

88
def test_analytics_processor_track_feature_updates_analytics_data(analytics_processor):
99
# When
10-
analytics_processor.track_feature(1)
11-
assert analytics_processor.analytics_data[1] == 1
10+
analytics_processor.track_feature("my_feature")
11+
assert analytics_processor.analytics_data["my_feature"] == 1
1212

13-
analytics_processor.track_feature(1)
14-
assert analytics_processor.analytics_data[1] == 2
13+
analytics_processor.track_feature("my_feature")
14+
assert analytics_processor.analytics_data["my_feature"] == 2
1515

1616

1717
def test_analytics_processor_flush_clears_analytics_data(analytics_processor):
18-
analytics_processor.track_feature(1)
18+
analytics_processor.track_feature("my_feature")
1919
analytics_processor.flush()
2020
assert analytics_processor.analytics_data == {}
2121

@@ -26,13 +26,13 @@ def test_analytics_processor_flush_post_request_data_match_ananlytics_data(
2626
# Given
2727
with mock.patch("flagsmith.analytics.session") as session:
2828
# When
29-
analytics_processor.track_feature(1)
30-
analytics_processor.track_feature(2)
29+
analytics_processor.track_feature("my_feature_1")
30+
analytics_processor.track_feature("my_feature_2")
3131
analytics_processor.flush()
3232
# Then
3333
session.post.assert_called()
3434
post_call = session.mock_calls[0]
35-
assert {"1": 1, "2": 1} == json.loads(post_call[2]["data"])
35+
assert {"my_feature_1": 1, "my_feature_2": 1} == json.loads(post_call[2]["data"])
3636

3737

3838
def test_analytics_processor_flush_early_exit_if_analytics_data_is_empty(
@@ -57,7 +57,7 @@ def test_analytics_processor_calling_track_feature_calls_flush_when_timer_runs_o
5757
seconds=ANALYTICS_TIMER + 1
5858
)
5959
# When
60-
analytics_processor.track_feature(1)
60+
analytics_processor.track_feature("my_feature")
6161

6262
# Then
6363
session.post.assert_called()

0 commit comments

Comments
 (0)