|
|
|
import glob
|
|
|
|
import wx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ServerPanel(wx.Panel):
|
|
|
|
def __init__(self, parent):
|
|
|
|
super().__init__(parent)
|
|
|
|
main_sizer = wx.BoxSizer(wx.VERTICAL)
|
|
|
|
|
|
|
|
toolbar1 = wx.ToolBar(self)
|
|
|
|
toolbar1.AddTool(wx.ID_ANY, '', wx.Bitmap('pigeonLOGO.png'))
|
|
|
|
toolbar1.Realize()
|
|
|
|
main_sizer.Add(toolbar1, 0, wx.EXPAND)
|
|
|
|
self.Bind(wx.EVT_TOOL, self.OnQuit)
|
|
|
|
|
|
|
|
self.SetSizer(main_sizer)
|
|
|
|
|
|
|
|
self.SetSize((350, 250))
|
|
|
|
self.Centre()
|
|
|
|
|
|
|
|
self.row_obj_dict = {}
|
|
|
|
|
|
|
|
self.list_ctrl = wx.ListCtrl(
|
|
|
|
self, size=(-1, 100),
|
|
|
|
style=wx.LC_REPORT | wx.BORDER_SUNKEN
|
|
|
|
)
|
|
|
|
self.list_ctrl.InsertColumn(0, 'PID', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(1, 'Local Address', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(2, 'Timestamp', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(3, 'Proto', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(4, 'Recv-Q', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(5, 'Send-Q', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(6, 'Foreign Address', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(7, 'Block', width=60)
|
|
|
|
self.list_ctrl.InsertColumn(8, 'State', width=140)
|
|
|
|
self.list_ctrl.InsertColumn(9, 'Duration', width=140)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## To add checkboxes for whether or not something is blocked
|
|
|
|
##idx = 0
|
|
|
|
##for i in varNameForBlock:
|
|
|
|
|
|
|
|
## index = self.list.InsertItem(idx, i[0])
|
|
|
|
## self.list.SetItem(index, 1, i[1])
|
|
|
|
## self.list.SetItem(index, 2, i[2])
|
|
|
|
## idx += 1
|
|
|
|
|
|
|
|
main_sizer.Add(self.list_ctrl, 0, wx.ALL | wx.EXPAND, 5)
|
|
|
|
start_button = wx.Button(self, label='Start')
|
|
|
|
start_button.Bind(wx.EVT_BUTTON, self.on_edit)
|
|
|
|
stop_button = wx.Button(self, label='Stop')
|
|
|
|
stop_button.Bind(wx.EVT_BUTTON, self.on_edit)
|
|
|
|
main_sizer.Add(start_button, 0, wx.ALL | 100, 5)
|
|
|
|
main_sizer.Add(stop_button, 0, wx.ALL | 100, 5)
|
|
|
|
self.SetSizer(main_sizer)
|
|
|
|
|
|
|
|
def OnQuit(self, e):
|
|
|
|
self.Close()
|
|
|
|
|
|
|
|
def on_edit(self, event):
|
|
|
|
print('in on_edit')
|
|
|
|
|
|
|
|
def update_mp3_listing(self, folder_path):
|
|
|
|
print(folder_path)
|
|
|
|
|
|
|
|
class ServerFrame(wx.Frame):
|
|
|
|
def __init__(self):
|
|
|
|
super().__init__(parent=None,
|
|
|
|
title='Server Dashboard')
|
|
|
|
|
|
|
|
self.panel = ServerPanel(self)
|
|
|
|
self.Show()
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
app = wx.App(False)
|
|
|
|
frame = ServerFrame()
|
|
|
|
|
|
|
|
app.MainLoop()
|