parameters: (work_drive)
docstring: Find BI tools.
docstring_summary: Find BI tools.
docstring_tokens: Find BI tools .
function: def find_bi_tools(work_drive):
      """Find BI tools."""
  
      reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
      try:
          k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools")
          arma3tools_path = winreg.QueryValueEx(k, "path")[0]
          winreg.CloseKey(k)
      except:
          raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.")
  
      addonbuilder_path = os.path.join(arma3tools_path, "AddonBuilder", "AddonBuilder.exe")
      dssignfile_path = os.path.join(arma3tools_path, "DSSignFile", "DSSignFile.exe")
      dscreatekey_path = os.path.join(arma3tools_path, "DSSignFile", "DSCreateKey.exe")
      cfgconvert_path = os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe")
  
      if os.path.isfile(addonbuilder_path) and os.path.isfile(dssignfile_path) and os.path.isfile(dscreatekey_path) and os.path.isfile(cfgconvert_path):
          return [addonbuilder_path, dssignfile_path, dscreatekey_path, cfgconvert_path]
      else:
          raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.")
function_tokens: def find_bi_tools ( work_drive ) : reg = winreg . ConnectRegistry ( None , winreg . HKEY_CURRENT_USER ) try : k = winreg . OpenKey ( reg , r"Software\bohemia interactive\arma 3 tools" ) arma3tools_path = winreg . QueryValueEx ( k , "path" ) [ 0 ] winreg . CloseKey ( k ) except : raise Exception ( "BadTools" , "Arma 3 Tools are not installed correctly or the P: drive needs to be created." ) addonbuilder_path = os . path . join ( arma3tools_path , "AddonBuilder" , "AddonBuilder.exe" ) dssignfile_path = os . path . join ( arma3tools_path , "DSSignFile" , "DSSignFile.exe" ) dscreatekey_path = os . path . join ( arma3tools_path , "DSSignFile" , "DSCreateKey.exe" ) cfgconvert_path = os . path . join ( arma3tools_path , "CfgConvert" , "CfgConvert.exe" ) if os . path . isfile ( addonbuilder_path ) and os . path . isfile ( dssignfile_path ) and os . path . isfile ( dscreatekey_path ) and os . path . isfile ( cfgconvert_path ) : return [ addonbuilder_path , dssignfile_path , dscreatekey_path , cfgconvert_path ] else : raise Exception ( "BadTools" , "Arma 3 Tools are not installed correctly or the P: drive needs to be created." )