00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 import wx
00019 from objects.logic.utils.timeUtil import timeUtil
00020 from objects.logic.common.globalStrings import globalStrings
00021 from objects.gui.mainFrameContainer import mainFrameContainer
00022 import time
00023
00024
00025
00026
00027 class mainFrameToolWindow(mainFrameContainer):
00028 def __init__(self, mainFrm, entList, x, y):
00029 mainFrameContainer.__init__(self, mainFrm)
00030 self.displayToolWindow(entList, x, y)
00031
00032
00033
00034
00035
00036 def getProcName(self, ent):
00037 return ent.processName
00038
00039
00040
00041
00042
00043 def getForeignIP(self, ent):
00044 return ent.foreignIPAddress
00045
00046
00047
00048
00049
00050 def getForeignPid(self, ent):
00051 return ent.Pid
00052
00053
00054
00055
00056
00057
00058 def displayToolWindow(self, entList, x, y):
00059
00060 if len(entList) == 1:
00061 networkEntity = entList[0]
00062 idleTime = time.time() - networkEntity.lastUpdateTS
00063
00064 totalKB = float(networkEntity.totalBytes) / float(1000)
00065
00066 Pid = self.getForeignPid(networkEntity)
00067
00068
00069 tipString = "Process Name: %s\nPid:%s\nIP Address:%s\nPorts:%d/%d\nCity:%s\nCountry:%s\nlon:%d\nlat:%d\nKb Transferred:%8.3f\nIdle Time:%s" % (self.getProcName(networkEntity), Pid, self.getForeignIP(networkEntity), networkEntity.foreignPort, networkEntity.selfPort, networkEntity.foreignCity, networkEntity.foreignCountry, networkEntity.foreignLongitude, networkEntity.foreignLatitude, totalKB, timeUtil.formatTimeDiff(idleTime))
00070 else:
00071 tipString = ""
00072 for _ent in entList:
00073 idleTime = time.time() - _ent.lastUpdateTS
00074
00075 totalKB = float(_ent.totalBytes) / float(1000)
00076 Pid = self.getForeignPid(_ent)
00077
00078
00079 tipString += "Process Name: %s\nPid:%s\nIP Address:%s\nPorts:%d/%d\nCity:%s\nCountry:%s\nlon:%d\nlat:%d\nKb Transferred:%8.3f\nIdle Time:%s" % (self.getProcName(_ent), Pid, self.getForeignIP(_ent), _ent.foreignPort, _ent.selfPort, _ent.foreignCity, _ent.foreignCountry, _ent.foreignLongitude, _ent.foreignLatitude, totalKB, timeUtil.formatTimeDiff(idleTime))
00080 tipString += "\n\n"
00081
00082
00083 self.tipWin = wx.TipWindow(self.mainFrame, tipString, 4096, wx.Rect(x - 2, y - 2, 5, 5))
00084
00085