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

Unified Diff: tools/telemetry/third_party/altgraph/altgraph/ObjectGraph.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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: tools/telemetry/third_party/altgraph/altgraph/ObjectGraph.py
diff --git a/tools/telemetry/third_party/altgraph/altgraph/ObjectGraph.py b/tools/telemetry/third_party/altgraph/altgraph/ObjectGraph.py
deleted file mode 100644
index d07f51b6885f4057478a829ac703db4840701d88..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/altgraph/altgraph/ObjectGraph.py
+++ /dev/null
@@ -1,202 +0,0 @@
-"""
-altgraph.ObjectGraph - Graph of objects with an identifier
-==========================================================
-
-A graph of objects that have a "graphident" attribute.
-graphident is the key for the object in the graph
-"""
-
-from altgraph import GraphError
-from altgraph.Graph import Graph
-from altgraph.GraphUtil import filter_stack
-
-class ObjectGraph(object):
- """
- A graph of objects that have a "graphident" attribute.
- graphident is the key for the object in the graph
- """
- def __init__(self, graph=None, debug=0):
- if graph is None:
- graph = Graph()
- self.graphident = self
- self.graph = graph
- self.debug = debug
- self.indent = 0
- graph.add_node(self, None)
-
- def __repr__(self):
- return '<%s>' % (type(self).__name__,)
-
- def flatten(self, condition=None, start=None):
- """
- Iterate over the subgraph that is entirely reachable by condition
- starting from the given start node or the ObjectGraph root
- """
- if start is None:
- start = self
- start = self.getRawIdent(start)
- return self.graph.iterdata(start=start, condition=condition)
-
- def nodes(self):
- for ident in self.graph:
- node = self.graph.node_data(ident)
- if node is not None:
- yield self.graph.node_data(ident)
-
-
- def get_edges(self, node):
- start = self.getRawIdent(node)
- _, _, outraw, incraw = self.graph.describe_node(start)
- def iter_edges(lst, n):
- seen = set()
- for tpl in (self.graph.describe_edge(e) for e in lst):
- ident = tpl[n]
- if ident not in seen:
- yield self.findNode(ident)
- seen.add(ident)
- return iter_edges(outraw, 3), iter_edges(incraw, 2)
-
- def edgeData(self, fromNode, toNode):
- start = self.getRawIdent(fromNode)
- stop = self.getRawIdent(toNode)
- edge = self.graph.edge_by_node(start, stop)
- return self.graph.edge_data(edge)
-
- def updateEdgeData(self, fromNode, toNode, edgeData):
- start = self.getRawIdent(fromNode)
- stop = self.getRawIdent(toNode)
- edge = self.graph.edge_by_node(start, stop)
- self.graph.update_edge_data(edge, edgeData)
-
- def filterStack(self, filters):
- """
- Filter the ObjectGraph in-place by removing all edges to nodes that
- do not match every filter in the given filter list
-
- Returns a tuple containing the number of: (nodes_visited, nodes_removed, nodes_orphaned)
- """
- visited, removes, orphans = filter_stack(self.graph, self, filters)
-
- for last_good, tail in orphans:
- self.graph.add_edge(last_good, tail, edge_data='orphan')
-
- for node in removes:
- self.graph.hide_node(node)
-
- return len(visited)-1, len(removes), len(orphans)
-
- def removeNode(self, node):
- """
- Remove the given node from the graph if it exists
- """
- ident = self.getIdent(node)
- if ident is not None:
- self.graph.hide_node(ident)
-
- def removeReference(self, fromnode, tonode):
- """
- Remove all edges from fromnode to tonode
- """
- if fromnode is None:
- fromnode = self
- fromident = self.getIdent(fromnode)
- toident = self.getIdent(tonode)
- if fromident is not None and toident is not None:
- while True:
- edge = self.graph.edge_by_node(fromident, toident)
- if edge is None:
- break
- self.graph.hide_edge(edge)
-
- def getIdent(self, node):
- """
- Get the graph identifier for a node
- """
- ident = self.getRawIdent(node)
- if ident is not None:
- return ident
- node = self.findNode(node)
- if node is None:
- return None
- return node.graphident
-
- def getRawIdent(self, node):
- """
- Get the identifier for a node object
- """
- if node is self:
- return node
- ident = getattr(node, 'graphident', None)
- return ident
-
- def __contains__(self, node):
- return self.findNode(node) is not None
-
- def findNode(self, node):
- """
- Find the node on the graph
- """
- ident = self.getRawIdent(node)
- if ident is None:
- ident = node
- try:
- return self.graph.node_data(ident)
- except KeyError:
- return None
-
- def addNode(self, node):
- """
- Add a node to the graph referenced by the root
- """
- self.msg(4, "addNode", node)
-
- try:
- self.graph.restore_node(node.graphident)
- except GraphError:
- self.graph.add_node(node.graphident, node)
-
- def createReference(self, fromnode, tonode, edge_data=None):
- """
- Create a reference from fromnode to tonode
- """
- if fromnode is None:
- fromnode = self
- fromident, toident = self.getIdent(fromnode), self.getIdent(tonode)
- if fromident is None or toident is None:
- return
- self.msg(4, "createReference", fromnode, tonode, edge_data)
- self.graph.add_edge(fromident, toident, edge_data=edge_data)
-
- def createNode(self, cls, name, *args, **kw):
- """
- Add a node of type cls to the graph if it does not already exist
- by the given name
- """
- m = self.findNode(name)
- if m is None:
- m = cls(name, *args, **kw)
- self.addNode(m)
- return m
-
- def msg(self, level, s, *args):
- """
- Print a debug message with the given level
- """
- if s and level <= self.debug:
- print ("%s%s %s" % (" " * self.indent, s, ' '.join(map(repr, args))))
-
- def msgin(self, level, s, *args):
- """
- Print a debug message and indent
- """
- if level <= self.debug:
- self.msg(level, s, *args)
- self.indent = self.indent + 1
-
- def msgout(self, level, s, *args):
- """
- Dedent and print a debug message
- """
- if level <= self.debug:
- self.indent = self.indent - 1
- self.msg(level, s, *args)
« no previous file with comments | « tools/telemetry/third_party/altgraph/altgraph/GraphUtil.py ('k') | tools/telemetry/third_party/altgraph/altgraph/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698