Skip to content

Commit 39c2a51

Browse files
authored
fix: feature toggle keys iteration (#348)
* fix: feature toggle keys iteration * chore: make linter happy * chore: missing dependency
1 parent fd59b80 commit 39c2a51

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

UnleashClient/loader.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def load_features(
132132
del feature_toggles[feature]
133133

134134
# Update existing objects
135-
for feature in feature_toggles.keys():
135+
for feature in list(feature_toggles.keys()):
136136
feature_for_update = feature_toggles[feature]
137137
strategies = parsed_features[feature]["strategies"]
138138

UnleashClient/periodic_tasks/send_metrics.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ def aggregate_metrics(
1313
) -> dict:
1414
feature_stats_list = []
1515

16-
for feature_name in features.keys():
17-
if not (features[feature_name].yes_count or features[feature_name].no_count):
16+
for feature in features.values():
17+
if not (feature.yes_count or feature.no_count):
1818
continue
1919

2020
feature_stats = {
21-
features[feature_name].name: {
22-
"yes": features[feature_name].yes_count,
23-
"no": features[feature_name].no_count,
24-
"variants": features[feature_name].variant_counts,
21+
feature.name: {
22+
"yes": feature.yes_count,
23+
"no": feature.no_count,
24+
"variants": feature.variant_counts,
2525
}
2626
}
2727

@@ -42,8 +42,8 @@ def aggregate_and_send_metrics(
4242
) -> None:
4343
feature_stats_dict = aggregate_metrics(features)
4444

45-
for feature_name in features.keys():
46-
features[feature_name].reset_stats()
45+
for feature in features.values():
46+
feature.reset_stats()
4747

4848
metrics_request = {
4949
"appName": app_name,

requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ pytest-xdist
2323
responses
2424
ruff
2525
tox
26+
pytz
2627

2728
# - Testing ()
2829
blinker

tests/unit_tests/test_loader.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@ def test_loader_initialization(cache_full): # noqa: F811
2121
in_memory_features["GradualRolloutUserID"].strategies[0], GradualRolloutUserId
2222
)
2323

24-
for feature_name in in_memory_features.keys():
24+
for feature_name, feature in in_memory_features.items():
2525
if feature_name == "Garbage": # Don't check purposely invalid strategy.
2626
break
2727

28-
feature = in_memory_features[feature_name]
2928
assert len(feature.strategies) > 0
3029
strategy = feature.strategies[0]
3130

0 commit comments

Comments
 (0)