Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: third_party/twisted_8_1/twisted/manhole/_inspectro.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/twisted_8_1/twisted/manhole/_inspectro.py
diff --git a/third_party/twisted_8_1/twisted/manhole/_inspectro.py b/third_party/twisted_8_1/twisted/manhole/_inspectro.py
deleted file mode 100644
index 12767ab1ee9858c8be2d02d79599b45571d67bb8..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/manhole/_inspectro.py
+++ /dev/null
@@ -1,369 +0,0 @@
-# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-
-"""An input/output window for the glade reactor inspector.
-"""
-
-import time
-import gtk
-import gobject
-import gtk.glade
-from twisted.python.util import sibpath
-from twisted.python import reflect
-
-from twisted.manhole.ui import gtk2manhole
-from twisted.python.components import Adapter, registerAdapter
-from twisted.python import log
-from twisted.protocols import policies
-from zope.interface import implements, Interface
-
-# the glade file uses stock icons, which requires gnome to be installed
-import gnome
-version = "$Revision: 1.1 $"[11:-2]
-gnome.init("gladereactor Inspector", version)
-
-class ConsoleOutput(gtk2manhole.ConsoleOutput):
- def _captureLocalLog(self):
- self.fobs = log.FileLogObserver(gtk2manhole._Notafile(self, "log"))
- self.fobs.start()
-
- def stop(self):
- self.fobs.stop()
- del self.fobs
-
-class ConsoleInput(gtk2manhole.ConsoleInput):
- def sendMessage(self):
- buffer = self.textView.get_buffer()
- iter1, iter2 = buffer.get_bounds()
- text = buffer.get_text(iter1, iter2, False)
- self.do(text)
-
- def do(self, text):
- self.toplevel.do(text)
-
-class INode(Interface):
- """A node in the inspector tree model.
- """
-
- def __adapt__(adaptable, default):
- if hasattr(adaptable, "__dict__"):
- return InstanceNode(adaptable)
- return AttributesNode(adaptable)
-
-class InspectorNode(Adapter):
- implements(INode)
-
- def postInit(self, offset, parent, slot):
- self.offset = offset
- self.parent = parent
- self.slot = slot
-
- def getPath(self):
- L = []
- x = self
- while x.parent is not None:
- L.append(x.offset)
- x = x.parent
- L.reverse()
- return L
-
- def __getitem__(self, index):
- slot, o = self.get(index)
- n = INode(o, persist=False)
- n.postInit(index, self, slot)
- return n
-
- def origstr(self):
- return str(self.original)
-
- def format(self):
- return (self.slot, self.origstr())
-
-
-class ConstantNode(InspectorNode):
- def __len__(self):
- return 0
-
-class DictionaryNode(InspectorNode):
- def get(self, index):
- L = self.original.items()
- L.sort()
- return L[index]
-
- def __len__(self):
- return len(self.original)
-
- def origstr(self):
- return "Dictionary"
-
-class ListNode(InspectorNode):
- def get(self, index):
- return index, self.original[index]
-
- def origstr(self):
- return "List"
-
- def __len__(self):
- return len(self.original)
-
-class AttributesNode(InspectorNode):
- def __len__(self):
- return len(dir(self.original))
-
- def get(self, index):
- L = dir(self.original)
- L.sort()
- return L[index], getattr(self.original, L[index])
-
-class InstanceNode(InspectorNode):
- def __len__(self):
- return len(self.original.__dict__) + 1
-
- def get(self, index):
- if index == 0:
- if hasattr(self.original, "__class__"):
- v = self.original.__class__
- else:
- v = type(self.original)
- return "__class__", v
- else:
- index -= 1
- L = self.original.__dict__.items()
- L.sort()
- return L[index]
-
-import types
-
-for x in dict, types.DictProxyType:
- registerAdapter(DictionaryNode, x, INode)
-for x in list, tuple:
- registerAdapter(ListNode, x, INode)
-for x in int, str:
- registerAdapter(ConstantNode, x, INode)
-
-
-class InspectorTreeModel(gtk.GenericTreeModel):
- def __init__(self, root):
- gtk.GenericTreeModel.__init__(self)
- self.root = INode(root, persist=False)
- self.root.postInit(0, None, 'root')
-
- def on_get_flags(self):
- return 0
-
- def on_get_n_columns(self):
- return 1
-
- def on_get_column_type(self, index):
- return gobject.TYPE_STRING
-
- def on_get_path(self, node):
- return node.getPath()
-
- def on_get_iter(self, path):
- x = self.root
- for elem in path:
- x = x[elem]
- return x
-
- def on_get_value(self, node, column):
- return node.format()[column]
-
- def on_iter_next(self, node):
- try:
- return node.parent[node.offset + 1]
- except IndexError:
- return None
-
- def on_iter_children(self, node):
- return node[0]
-
- def on_iter_has_child(self, node):
- return len(node)
-
- def on_iter_n_children(self, node):
- return len(node)
-
- def on_iter_nth_child(self, node, n):
- if node is None:
- return None
- return node[n]
-
- def on_iter_parent(self, node):
- return node.parent
-
-
-class Inspectro:
- selected = None
- def __init__(self, o=None):
- self.xml = x = gtk.glade.XML(sibpath(__file__, "inspectro.glade"))
- self.tree_view = x.get_widget("treeview")
- colnames = ["Name", "Value"]
- for i in range(len(colnames)):
- self.tree_view.append_column(
- gtk.TreeViewColumn(
- colnames[i], gtk.CellRendererText(), text=i))
- d = {}
- for m in reflect.prefixedMethods(self, "on_"):
- d[m.im_func.__name__] = m
- self.xml.signal_autoconnect(d)
- if o is not None:
- self.inspect(o)
- self.ns = {'inspect': self.inspect}
- iwidget = x.get_widget('input')
- self.input = ConsoleInput(iwidget)
- self.input.toplevel = self
- iwidget.connect("key_press_event", self.input._on_key_press_event)
- self.output = ConsoleOutput(x.get_widget('output'))
-
- def select(self, o):
- self.selected = o
- self.ns['it'] = o
- self.xml.get_widget("itname").set_text(repr(o))
- self.xml.get_widget("itpath").set_text("???")
-
- def inspect(self, o):
- self.model = InspectorTreeModel(o)
- self.tree_view.set_model(self.model)
- self.inspected = o
-
- def do(self, command):
- filename = '<inspector>'
- try:
- print repr(command)
- try:
- code = compile(command, filename, 'eval')
- except:
- code = compile(command, filename, 'single')
- val = eval(code, self.ns, self.ns)
- if val is not None:
- print repr(val)
- self.ns['_'] = val
- except:
- log.err()
-
- def on_inspect(self, *a):
- self.inspect(self.selected)
-
- def on_inspect_new(self, *a):
- Inspectro(self.selected)
-
- def on_row_activated(self, tv, path, column):
- self.select(self.model.on_get_iter(path).original)
-
-
-class LoggingProtocol(policies.ProtocolWrapper):
- """Log network traffic."""
-
- logging = True
- logViewer = None
-
- def __init__(self, *args):
- policies.ProtocolWrapper.__init__(self, *args)
- self.inLog = []
- self.outLog = []
-
- def write(self, data):
- if self.logging:
- self.outLog.append((time.time(), data))
- if self.logViewer:
- self.logViewer.updateOut(self.outLog[-1])
- policies.ProtocolWrapper.write(self, data)
-
- def dataReceived(self, data):
- if self.logging:
- self.inLog.append((time.time(), data))
- if self.logViewer:
- self.logViewer.updateIn(self.inLog[-1])
- policies.ProtocolWrapper.dataReceived(self, data)
-
- def __repr__(self):
- r = "wrapped " + repr(self.wrappedProtocol)
- if self.logging:
- r += " (logging)"
- return r
-
-
-class LoggingFactory(policies.WrappingFactory):
- """Wrap protocols with logging wrappers."""
-
- protocol = LoggingProtocol
- logging = True
-
- def buildProtocol(self, addr):
- p = self.protocol(self, self.wrappedFactory.buildProtocol(addr))
- p.logging = self.logging
- return p
-
- def __repr__(self):
- r = "wrapped " + repr(self.wrappedFactory)
- if self.logging:
- r += " (logging)"
- return r
-
-
-class LogViewer:
- """Display log of network traffic."""
-
- def __init__(self, p):
- self.p = p
- vals = [time.time()]
- if p.inLog:
- vals.append(p.inLog[0][0])
- if p.outLog:
- vals.append(p.outLog[0][0])
- self.startTime = min(vals)
- p.logViewer = self
- self.xml = x = gtk.glade.XML(sibpath(__file__, "logview.glade"))
- self.xml.signal_autoconnect(self)
- self.loglist = self.xml.get_widget("loglist")
- # setup model, connect it to my treeview
- self.model = gtk.ListStore(str, str, str)
- self.loglist.set_model(self.model)
- self.loglist.set_reorderable(1)
- self.loglist.set_headers_clickable(1)
- # self.servers.set_headers_draggable(1)
- # add a column
- for col in [
- gtk.TreeViewColumn('Time',
- gtk.CellRendererText(),
- text=0),
- gtk.TreeViewColumn('D',
- gtk.CellRendererText(),
- text=1),
- gtk.TreeViewColumn('Data',
- gtk.CellRendererText(),
- text=2)]:
- self.loglist.append_column(col)
- col.set_resizable(1)
- r = []
- for t, data in p.inLog:
- r.append(((str(t - self.startTime), "R", repr(data)[1:-1])))
- for t, data in p.outLog:
- r.append(((str(t - self.startTime), "S", repr(data)[1:-1])))
- r.sort()
- for i in r:
- self.model.append(i)
-
- def updateIn(self, (time, data)):
- self.model.append((str(time - self.startTime), "R", repr(data)[1:-1]))
-
- def updateOut(self, (time, data)):
- self.model.append((str(time - self.startTime), "S", repr(data)[1:-1]))
-
- def on_logview_destroy(self, w):
- self.p.logViewer = None
- del self.p
-
-
-def main():
- x = Inspectro()
- x.inspect(x)
- gtk.main()
-
-if __name__ == '__main__':
- import sys
- log.startLogging(sys.stdout)
- main()
-
« no previous file with comments | « third_party/twisted_8_1/twisted/manhole/__init__.py ('k') | third_party/twisted_8_1/twisted/manhole/explorer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698