diff --git a/frog/services/telemetry.py b/frog/services/telemetry.py index bf56c77..139fdb3 100644 --- a/frog/services/telemetry.py +++ b/frog/services/telemetry.py @@ -36,27 +36,29 @@ class TelemetryService(GObject.GObject): _gtype_name = 'TelemetryService' - posthog: Posthog | None + posthog: Posthog | None = None installation_id: str | None is_active: bool = True - def __init__(self): - super().__init__() - self.posthog = Posthog(project_api_key='phc_HpETCN6yQKZIr8gr6mBQTd3H0SjKUBrNMI3AizoX97f', - host='https://eu.posthog.com') - def set_installation_id(self, installation_id: str): self.installation_id = installation_id def set_is_active(self, is_active: bool): self.is_active = is_active + if is_active and self.posthog is None: + self.posthog = Posthog(project_api_key='phc_HpETCN6yQKZIr8gr6mBQTd3H0SjKUBrNMI3AizoX97f', + host='https://eu.posthog.com') + elif (not is_active) and self.posthog is not None: + self.posthog.shutdown() + self.posthog = None def capture(self, event: str, props: Any = None): - if self.posthog and self.is_active: + if self.posthog: self.posthog.capture(self.installation_id, event, props) def capture_page_view(self, page_name: str): - self.posthog.capture(self.installation_id, '$pageview', {'$current_url': page_name}) + if self.posthog: + self.posthog.capture(self.installation_id, '$pageview', {'$current_url': page_name}) telemetry = TelemetryService()