style(): reformatted files

This commit is contained in:
ITQ
2026-02-24 17:59:10 +03:00
parent e5a224bc3e
commit 2e974e6148
3 changed files with 27 additions and 26 deletions
+1 -3
View File
@@ -201,9 +201,7 @@ def _decision_payload(result: dict, subject_id: str) -> dict:
"subject_id": subject_id, "subject_id": subject_id,
"experiment_id": result.get("experiment_id"), "experiment_id": result.get("experiment_id"),
"variant_id": result.get("variant_id"), "variant_id": result.get("variant_id"),
"value": str(result["value"]) "value": str(result["value"]) if result["value"] is not None else "",
if result["value"] is not None
else "",
"reason": result["reason"], "reason": result["reason"],
} }
+12 -10
View File
@@ -469,11 +469,12 @@ class DecisionPersistenceModeTest(TestCase):
@override_settings(DECISION_WRITE_MODE="async") @override_settings(DECISION_WRITE_MODE="async")
def test_async_mode_enqueues_non_assigned_result(self) -> None: def test_async_mode_enqueues_non_assigned_result(self) -> None:
with patch( with (
"apps.decision.services.persist_decision_task.delay" patch(
) as delay_mock, patch( "apps.decision.services.persist_decision_task.delay"
"apps.decision.services.decision_create" ) as delay_mock,
) as create_mock: patch("apps.decision.services.decision_create") as create_mock,
):
result = decide_for_flag(self.flag.key, "subj_async", {}) result = decide_for_flag(self.flag.key, "subj_async", {})
self.assertEqual(result["reason"], "no_active_experiment") self.assertEqual(result["reason"], "no_active_experiment")
delay_mock.assert_called_once() delay_mock.assert_called_once()
@@ -482,11 +483,12 @@ class DecisionPersistenceModeTest(TestCase):
@override_settings(DECISION_WRITE_MODE="async") @override_settings(DECISION_WRITE_MODE="async")
def test_async_mode_keeps_assigned_result_sync(self) -> None: def test_async_mode_keeps_assigned_result_sync(self) -> None:
self._make_running_experiment() self._make_running_experiment()
with patch( with (
"apps.decision.services.persist_decision_task.delay" patch(
) as delay_mock, patch( "apps.decision.services.persist_decision_task.delay"
"apps.decision.services.decision_create" ) as delay_mock,
) as create_mock: patch("apps.decision.services.decision_create") as create_mock,
):
result = decide_for_flag( result = decide_for_flag(
self.flag.key, self.flag.key,
"subj_async_assigned", "subj_async_assigned",
+14 -13
View File
@@ -30,8 +30,7 @@ from apps.metrics.models import (
class PercentileCont(Aggregate): class PercentileCont(Aggregate):
function = "PERCENTILE_CONT" function = "PERCENTILE_CONT"
template = ( template = (
"%(function)s(%(percentile)s) " "%(function)s(%(percentile)s) WITHIN GROUP (ORDER BY %(expressions)s)"
"WITHIN GROUP (ORDER BY %(expressions)s)"
) )
allow_distinct = False allow_distinct = False
output_field = FloatField() output_field = FloatField()
@@ -92,9 +91,7 @@ def _numeric_property_expression(property_field: str):
pattern = r"^-?(?:\d+(?:\.\d+)?|\.\d+)$" pattern = r"^-?(?:\d+(?:\.\d+)?|\.\d+)$"
return Case( return Case(
When( When(
**{ **{f"properties__{property_field}__regex": pattern},
f"properties__{property_field}__regex": pattern
},
then=Cast(key_text, FloatField()), then=Cast(key_text, FloatField()),
), ),
default=Value(None), default=Value(None),
@@ -150,14 +147,18 @@ def _percentile_property(
start_date: datetime | None = None, start_date: datetime | None = None,
end_date: datetime | None = None, end_date: datetime | None = None,
) -> Decimal | None: ) -> Decimal | None:
qs = _events_queryset( qs = (
exposure_qs=exposure_qs, _events_queryset(
event_type_name=event_type_name, exposure_qs=exposure_qs,
start_date=start_date, event_type_name=event_type_name,
end_date=end_date, start_date=start_date,
).annotate( end_date=end_date,
numeric_value=_numeric_property_expression(property_field), )
).exclude(numeric_value__isnull=True) .annotate(
numeric_value=_numeric_property_expression(property_field),
)
.exclude(numeric_value__isnull=True)
)
if connection.vendor == "postgresql": if connection.vendor == "postgresql":
value = qs.aggregate( value = qs.aggregate(
value=PercentileCont( value=PercentileCont(