buttonLogger.py (1170B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\loggers\buttonLogger.py 2 from eveexceptions.exceptionEater import EatsExceptions 3 from carbonui.loggers.message_bus.buttonMessenger import ButtonMessenger 4 import logging 5 logLite = logging.getLogger(__name__) 6 7 def collect_context(ui_object): 8 context_parts = [] 9 parent = ui_object.parent 10 while parent is not None: 11 context = getattr(parent, 'analyticID', None) 12 if context: 13 context_parts.append(context) 14 parent = parent.parent 15 16 return '.'.join(reversed(context_parts)) 17 18 19 @EatsExceptions('protoClientLogs') 20 def log_button_clicked(button_object): 21 if not button_object.analyticID: 22 return False 23 unique_name = getattr(button_object, 'analyticID', None) 24 hierarchy_path = collect_context(button_object) 25 if not hierarchy_path: 26 logLite.info('Tracked button pressed; analyticID: hierarchy path was empty') 27 message_bus = ButtonMessenger(sm.GetService('publicGatewaySvc')) 28 message_bus.button_clicked(hierarchy_path, unique_name) 29 logLite.info('Tracked button pressed; analyticID: %s' % unique_name)