Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/console/interface/memphis/memphis.py
diff options
context:
space:
mode:
authorEduardo Silva <edsiper@tuto.(none)>2007-01-04 19:17:10 (GMT)
committer Eduardo Silva <edsiper@tuto.(none)>2007-01-04 19:17:10 (GMT)
commit15f586e61a14df45525fab91cc1c4adbb6a24c86 (patch)
tree06dd63246da30c62885f3c747a3adfca97c6176f /shell/console/interface/memphis/memphis.py
parent3dd0def247c966f87bef9630fc8a978177782a15 (diff)
Moving to PEP-8
Diffstat (limited to 'shell/console/interface/memphis/memphis.py')
-rw-r--r--shell/console/interface/memphis/memphis.py147
1 files changed, 74 insertions, 73 deletions
diff --git a/shell/console/interface/memphis/memphis.py b/shell/console/interface/memphis/memphis.py
index ec6c436..8fbc85b 100644
--- a/shell/console/interface/memphis/memphis.py
+++ b/shell/console/interface/memphis/memphis.py
@@ -16,7 +16,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-import sys, os
+import sys
+import os
import string
import wnck
import plugin
@@ -31,46 +32,46 @@ except:
sys.exit(1)
class Interface:
-
+
store_data_types = []
store_data_types_details = []
-
- def __init__(self):
+
+ def __init__(self):
- # Our GtkTree (Treeview)
+ # Our GtkTree (Treeview)
self.treeview = gtk.TreeView()
- self.treeview.show()
-
- self.button_start = gtk.Button('Start Memphis')
- self.button_stop = gtk.Button('Stop Memphis')
-
- fixed = gtk.Fixed()
- fixed.add(self.button_start)
- fixed.add(self.button_stop)
-
- vbox = gtk.VBox(False)
- vbox.set_border_width(5)
- vbox.pack_start(fixed, True, True, 0)
-
- # Our GtkTree (Treeview)
+ self.treeview.show()
+
+ self.button_start = gtk.Button('Start Memphis')
+ self.button_stop = gtk.Button('Stop Memphis')
+
+ fixed = gtk.Fixed()
+ fixed.add(self.button_start)
+ fixed.add(self.button_stop)
+
+ vbox = gtk.VBox(False)
+ vbox.set_border_width(5)
+ vbox.pack_start(fixed, True, True, 0)
+
+ # Our GtkTree (Treeview)
self.treeview = gtk.TreeView()
- t_width = gtk.gdk.screen_width()
- t_height = gtk.gdk.screen_height() * 83 / 100
-
+ t_width = gtk.gdk.screen_width()
+ t_height = gtk.gdk.screen_height() * 83 / 100
+
self.treeview.set_size_request(t_width, t_height)
- vbox.pack_start(self.treeview, True, True, 0)
- vbox.show_all()
- self.widget = vbox
-
+ vbox.pack_start(self.treeview, True, True, 0)
+ vbox.show_all()
+ self.widget = vbox
+
# Loading plugins
self.plg = plugin.Plugin()
-
+
# TOP data types (columns)
self.store_data_types = []
for plg in self.plg.list:
plg_data = plg.INTERNALS
-
+
# Give plugin object to plugin
plg.INTERNALS['Plg'] = self.plg
@@ -78,11 +79,11 @@ class Interface:
# self.store_data_types, ex [int, str, str, str, int,...]
#self.store = gtk.TreeStore(*self.store_data_types)
self.data = Data(self, self.treeview, self.plg.list)
-
- self.button_stop.hide()
- self.button_start.connect('clicked', self.data._start_memphis)
- self.button_stop.connect('clicked', self.data._stop_memphis)
-
+
+ self.button_stop.hide()
+ self.button_start.connect('clicked', self.data._start_memphis)
+ self.button_stop.connect('clicked', self.data._stop_memphis)
+
class Data:
last_col_index = 0
@@ -92,24 +93,24 @@ class Data:
store_data_types_details = []
_running_status = False
-
+
def __init__(self, interface, treeview, plg_list):
-
- self.interface = interface
-
+
+ self.interface = interface
+
# Top data types
self.plg_list = plg_list
-
+
for plg in self.plg_list:
if plg.INTERNALS['top_data'] != None:
last_dt = len(self.store_data_types)
-
+
if last_dt > 0:
last_dt -= 1
-
+
len_dt = len(plg.INTERNALS['top_data'])
-
+
self.store_data_types_details.append({"plugin": plg, "init": last_dt, "end": last_dt + len_dt})
for dt in plg.INTERNALS['top_data']:
@@ -117,33 +118,33 @@ class Data:
for col in plg.INTERNALS['top_cols']:
self.store_data_cols.append(col)
-
+
# Set global treeview
self.treeview = treeview
-
+
# Basic columns
index = 0
for column_name in self.store_data_cols:
self.add_column(column_name, index)
index += 1
-
+
self.store = gtk.TreeStore(*self.store_data_types)
treeview.set_model(self.store)
def _start_memphis(self, button):
-
- # Update information every 1.5 second
+
+ # Update information every 1.5 second
button.hide()
- self.interface.button_stop.show()
- self._running_status = True
- gobject.timeout_add(1500, self.load_data, self.treeview)
+ self.interface.button_stop.show()
+ self._running_status = True
+ gobject.timeout_add(1500, self.load_data, self.treeview)
def _stop_memphis(self, button):
-
- self._running_status = False
- button.hide()
- self.interface.button_start.show()
-
+
+ self._running_status = False
+ button.hide()
+ self.interface.button_start.show()
+
# Add a new column to the main treeview
def add_column(self, column_name, index):
cell = gtk.CellRendererText()
@@ -151,9 +152,9 @@ class Data:
col_tv.set_resizable(True)
col_tv.connect('clicked', self.sort_column_clicked)
col_tv.set_property('clickable', True)
-
+
self.treeview.append_column(col_tv)
-
+
# Set the last column index added
self.last_col_index = index
@@ -166,39 +167,39 @@ class Data:
for col in cols:
if col == TreeViewColumn:
break
-
+
index += 1
self.store.set_sort_column_id(index, gtk.SORT_DESCENDING)
def load_data(self, treeview):
self.store.clear()
-
+
# Getting procfs data
self.procdata = proc.ProcInfo()
self.process_list = []
-
+
pids = []
screen = wnck.screen_get_default()
windows = screen.get_windows()
-
+
current_pid = os.getpid()
-
+
for win in windows:
pid = int(win.get_pid())
if current_pid != pid:
pids.append(pid)
-
+
self.process_list = set(pids)
-
+
# Sort rows using pid
#self.process_list.sort(key=operator.itemgetter('pid'))
self.process_iter = []
-
+
for pid in self.process_list:
pi = self.build_row(self.store, None, self.procdata, pid)
self.process_iter.append(pi)
-
+
treeview.set_rules_hint(True)
treeview.expand_all()
@@ -206,32 +207,32 @@ class Data:
def build_row(self, store, parent_iter, proc_data, pid):
data = []
-
+
pinfo = proc_data.MemoryInfo(pid)
# Look for plugins that need to update the top data treeview
for plg in self.plg_list:
plg_data = []
-
+
if plg.INTERNALS['top_data'] != None:
# data = [xxx, yyy,zzz,...]
plg_data = plg.info.plg_on_top_data_refresh(plg, pinfo)
-
+
for field in plg_data:
data.append(field)
-
+
pi = self.insert_row(store, parent_iter, data)
-
+
return pi
-
+
# Insert a Row in our TreeView
def insert_row(self, store, parent, row_data):
iter = store.insert_after(parent, None)
index = 0
-
+
for data in row_data:
store.set_value(iter, index , data)
index += 1
-
+
return iter