def _ExtractExtensionInstallEvents(self, settings_dict, parser_mediator):
    """Extract extension installation events.

    Args:
      settings_dict (dict[str: object]): settings data from a Preferences file.
      parser_mediator (ParserMediator): mediates interactions between parsers
          and other components, such as storage and dfvfs.
    """
    for extension_id, extension in sorted(settings_dict.items()):
      install_time = extension.get('install_time', None)
      if not install_time:
        parser_mediator.ProduceExtractionWarning(
            'installation time missing for extension ID {0:s}'.format(
                extension_id))
        continue

      try:
        install_time = int(install_time, 10)
      except ValueError:
        parser_mediator.ProduceExtractionWarning((
            'unable to convert installation time for extension ID '
            '{0:s}').format(extension_id))
        continue

      manifest = extension.get('manifest', None)
      if not manifest:
        parser_mediator.ProduceExtractionWarning(
            'manifest missing for extension ID {0:s}'.format(extension_id))
        continue

      event_data = ChromeExtensionInstallationEventData()
      event_data.extension_id = extension_id
      event_data.extension_name = manifest.get('name', None)
      event_data.path = extension.get('path', None)

      date_time = dfdatetime_webkit_time.WebKitTime(timestamp=install_time)
      event = time_events.DateTimeValuesEvent(
          date_time, definitions.TIME_DESCRIPTION_ADDED)
      parser_mediator.ProduceEventWithEventData(event, event_data)
def _ExtractExtensionInstallEvents ( self , settings_dict , parser_mediator ) : for extension_id , extension in sorted ( settings_dict . items ( ) ) : install_time = extension . get ( 'install_time' , None ) if not install_time : parser_mediator . ProduceExtractionWarning ( 'installation time missing for extension ID {0:s}' . format ( extension_id ) ) continue try : install_time = int ( install_time , 10 ) except ValueError : parser_mediator . ProduceExtractionWarning ( ( 'unable to convert installation time for extension ID ' '{0:s}' ) . format ( extension_id ) ) continue manifest = extension . get ( 'manifest' , None ) if not manifest : parser_mediator . ProduceExtractionWarning ( 'manifest missing for extension ID {0:s}' . format ( extension_id ) ) continue event_data = ChromeExtensionInstallationEventData ( ) event_data . extension_id = extension_id event_data . extension_name = manifest . get ( 'name' , None ) event_data . path = extension . get ( 'path' , None ) date_time = dfdatetime_webkit_time . WebKitTime ( timestamp = install_time ) event = time_events . DateTimeValuesEvent ( date_time , definitions . TIME_DESCRIPTION_ADDED ) parser_mediator . ProduceEventWithEventData ( event , event_data )
Extract extension installation events.

    Args:
      settings_dict (dict[str: object]): settings data from a Preferences file.
      parser_mediator (ParserMediator): mediates interactions between parsers
          and other components, such as storage and dfvfs.