Skip to content

Commit 18fb185

Browse files
committed
Added app_name and version params to send_event.
1 parent 2491414 commit 18fb185

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/backend/backend_ga4.py

+12-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
import json
5-
import logging as log
65
import uuid
6+
from copy import copy
77
from urllib import request
88

99
from .backend import TelemetryBackend
@@ -41,18 +41,25 @@ def send(self, message: dict):
4141
else:
4242
raise ValueError("Incorrect backend URL.")
4343

44-
request.urlopen(req) #nosec
44+
request.urlopen(req) # nosec
4545
except Exception as err:
4646
pass # nosec
4747

4848
def build_event_message(self, event_category: str, event_action: str, event_label: str, event_value: int = 1,
49+
app_name=None, app_version=None,
4950
**kwargs):
5051
client_id = self.cid
5152
if client_id is None:
5253
client_id = "0"
5354
if self.session_id is None:
5455
self.generate_new_session_id()
5556

57+
default_args = copy(self.default_message_attrs)
58+
if app_name is not None:
59+
default_args['app_name'] = app_name
60+
if app_version is not None:
61+
default_args['app_version'] = app_version
62+
5663
payload = {
5764
"client_id": client_id,
5865
"non_personalized_ads": False,
@@ -64,7 +71,7 @@ def build_event_message(self, event_category: str, event_action: str, event_labe
6471
"event_label": event_label,
6572
"event_count": event_value,
6673
"session_id": self.session_id,
67-
**self.default_message_attrs,
74+
**default_args,
6875
}
6976
}
7077
]
@@ -85,7 +92,8 @@ def build_stack_trace_message(self, category: str, error_msg: str, **kwargs):
8592
return self.build_event_message(category, "stack_trace", error_msg, 1)
8693

8794
def generate_new_cid_file(self):
88-
self.cid = get_or_generate_cid(self.cid_filename, lambda: str(uuid.uuid4()), is_valid_cid, self.old_cid_filename)
95+
self.cid = get_or_generate_cid(self.cid_filename, lambda: str(uuid.uuid4()), is_valid_cid,
96+
self.old_cid_filename)
8997

9098
def cid_file_initialized(self):
9199
return self.cid is not None

src/main.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class Telemetry(metaclass=SingletonMetaClass):
4444
with opt_in_out script.
4545
:param disable_in_ci: Turn off telemetry for CI jobs.
4646
"""
47+
4748
def __init__(self, app_name: str = None, app_version: str = None, tid: str = None,
4849
backend: [str, None] = 'ga', enable_opt_in_dialog=True, disable_in_ci=False):
4950
# The case when instance is already configured
@@ -56,7 +57,7 @@ def __init__(self, app_name: str = None, app_version: str = None, tid: str = Non
5657
self.init(app_name, app_version, tid, backend, enable_opt_in_dialog, disable_in_ci)
5758

5859
def init(self, app_name: str = None, app_version: str = None, tid: str = None,
59-
backend: [str, None] = 'ga', enable_opt_in_dialog=True, disable_in_ci=False):
60+
backend: [str, None] = 'ga', enable_opt_in_dialog=True, disable_in_ci=False):
6061
opt_in_checker = OptInChecker()
6162
opt_in_check_result = opt_in_checker.check(enable_opt_in_dialog, disable_in_ci)
6263
if enable_opt_in_dialog:
@@ -168,21 +169,24 @@ def force_shutdown(self, timeout: float = 1.0):
168169
self.sender.force_shutdown(timeout)
169170

170171
def send_event(self, event_category: str, event_action: str, event_label: str, event_value: int = 1,
171-
force_send=False, **kwargs):
172+
app_name=None, app_version=None, force_send=False, **kwargs):
172173
"""
173174
Send single event.
174175
175176
:param event_category: category of the event
176177
:param event_action: action of the event
177178
:param event_label: the label associated with the action
178179
:param event_value: the integer value corresponding to this label
180+
:param app_name: application name
181+
:param app_version: application version
179182
:param force_send: forces to send event ignoring the consent value
180183
:param kwargs: additional parameters
181184
:return: None
182185
"""
183186
if self.consent or force_send:
184187
self.sender.send(self.backend, self.backend.build_event_message(event_category, event_action, event_label,
185-
event_value, **kwargs))
188+
event_value, app_name, app_version,
189+
**kwargs))
186190

187191
def start_session(self, category: str, **kwargs):
188192
"""

0 commit comments

Comments
 (0)