Skip to content

Commit

Permalink
Added app_name and version params to send_event.
Browse files Browse the repository at this point in the history
  • Loading branch information
popovaan committed Apr 8, 2024
1 parent 2491414 commit 18fb185
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
16 changes: 12 additions & 4 deletions src/backend/backend_ga4.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# SPDX-License-Identifier: Apache-2.0

import json
import logging as log
import uuid
from copy import copy
from urllib import request

from .backend import TelemetryBackend
Expand Down Expand Up @@ -41,18 +41,25 @@ def send(self, message: dict):
else:
raise ValueError("Incorrect backend URL.")

request.urlopen(req) #nosec
request.urlopen(req) # nosec
except Exception as err:
pass # nosec

def build_event_message(self, event_category: str, event_action: str, event_label: str, event_value: int = 1,
app_name=None, app_version=None,
**kwargs):
client_id = self.cid
if client_id is None:
client_id = "0"
if self.session_id is None:
self.generate_new_session_id()

default_args = copy(self.default_message_attrs)
if app_name is not None:
default_args['app_name'] = app_name
if app_version is not None:
default_args['app_version'] = app_version

payload = {
"client_id": client_id,
"non_personalized_ads": False,
Expand All @@ -64,7 +71,7 @@ def build_event_message(self, event_category: str, event_action: str, event_labe
"event_label": event_label,
"event_count": event_value,
"session_id": self.session_id,
**self.default_message_attrs,
**default_args,
}
}
]
Expand All @@ -85,7 +92,8 @@ def build_stack_trace_message(self, category: str, error_msg: str, **kwargs):
return self.build_event_message(category, "stack_trace", error_msg, 1)

def generate_new_cid_file(self):
self.cid = get_or_generate_cid(self.cid_filename, lambda: str(uuid.uuid4()), is_valid_cid, self.old_cid_filename)
self.cid = get_or_generate_cid(self.cid_filename, lambda: str(uuid.uuid4()), is_valid_cid,
self.old_cid_filename)

def cid_file_initialized(self):
return self.cid is not None
Expand Down
10 changes: 7 additions & 3 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class Telemetry(metaclass=SingletonMetaClass):
with opt_in_out script.
:param disable_in_ci: Turn off telemetry for CI jobs.
"""

def __init__(self, app_name: str = None, app_version: str = None, tid: str = None,
backend: [str, None] = 'ga', enable_opt_in_dialog=True, disable_in_ci=False):
# The case when instance is already configured
Expand All @@ -56,7 +57,7 @@ def __init__(self, app_name: str = None, app_version: str = None, tid: str = Non
self.init(app_name, app_version, tid, backend, enable_opt_in_dialog, disable_in_ci)

def init(self, app_name: str = None, app_version: str = None, tid: str = None,
backend: [str, None] = 'ga', enable_opt_in_dialog=True, disable_in_ci=False):
backend: [str, None] = 'ga', enable_opt_in_dialog=True, disable_in_ci=False):
opt_in_checker = OptInChecker()
opt_in_check_result = opt_in_checker.check(enable_opt_in_dialog, disable_in_ci)
if enable_opt_in_dialog:
Expand Down Expand Up @@ -168,21 +169,24 @@ def force_shutdown(self, timeout: float = 1.0):
self.sender.force_shutdown(timeout)

def send_event(self, event_category: str, event_action: str, event_label: str, event_value: int = 1,
force_send=False, **kwargs):
app_name=None, app_version=None, force_send=False, **kwargs):
"""
Send single event.
:param event_category: category of the event
:param event_action: action of the event
:param event_label: the label associated with the action
:param event_value: the integer value corresponding to this label
:param app_name: application name
:param app_version: application version
:param force_send: forces to send event ignoring the consent value
:param kwargs: additional parameters
:return: None
"""
if self.consent or force_send:
self.sender.send(self.backend, self.backend.build_event_message(event_category, event_action, event_label,
event_value, **kwargs))
event_value, app_name, app_version,
**kwargs))

def start_session(self, category: str, **kwargs):
"""
Expand Down

0 comments on commit 18fb185

Please sign in to comment.