NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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)