From e301c5deedb0cc83bf86e02e3e828f5fb35a601c Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Tue, 9 Sep 2025 18:08:54 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(summary)=20wrap=20PostHog=20feature?= =?UTF-8?q?=20flag=20checks=20in=20analytics=20client?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Encapsulate PostHog SDK feature flag functionality within analytics client. --- src/summary/summary/core/analytics.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/summary/summary/core/analytics.py b/src/summary/summary/core/analytics.py index fb1678ff..9b74d3e9 100644 --- a/src/summary/summary/core/analytics.py +++ b/src/summary/summary/core/analytics.py @@ -48,6 +48,17 @@ class Analytics: except Exception as e: raise AnalyticsException("Failed to capture analytics event") from e + def is_feature_enabled(self, feature_name: str, distinct_id: str = None) -> bool: + """Check if a feature flag is enabled for a user.""" + if self.is_disabled: + return False + + try: + return self._client.feature_enabled(feature_name, distinct_id) + except Exception as e: + logger.error("Error checking feature flag %s: %s", feature_name, e) + return False + @lru_cache def get_analytics():