svn commit: samba r6919 - in branches/SAMBA_4_0/source/script: .
tpot at samba.org
tpot at samba.org
Fri May 20 07:46:20 GMT 2005
Author: tpot
Date: 2005-05-20 07:46:19 +0000 (Fri, 20 May 2005)
New Revision: 6919
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6919
Log:
Jelmer, here is my script for filtering individual binaries/subsystems/etc
out of the samba4-deps.dot file. Use like:
script/depfilter.py regpatch < samba4-deps.dot | dotty -
and then scratch your head and wonder why regpatch has to link with 3/4
of what it does.
Added:
branches/SAMBA_4_0/source/script/depfilter.py
Changeset:
Added: branches/SAMBA_4_0/source/script/depfilter.py
===================================================================
--- branches/SAMBA_4_0/source/script/depfilter.py 2005-05-20 05:26:59 UTC (rev 6918)
+++ branches/SAMBA_4_0/source/script/depfilter.py 2005-05-20 07:46:19 UTC (rev 6919)
@@ -0,0 +1,50 @@
+#!/usr/bin/python
+#
+# Filter out arcs in a dotty graph that are at or below a certain
+# node. This is useful for visualising parts of the dependency graph.
+#
+
+# Command line stuff
+
+import sys, sre
+
+if len(sys.argv) != 2:
+ print 'Usage: depfilter.py NODE'
+ sys.exit(1)
+
+top = sys.argv[1]
+
+# Read in dot file
+
+lines = sys.stdin.readlines()
+
+graph = {}
+
+for arc in lines[1:-1]:
+ match = sre.search('"(.*)" -> "(.*)"', arc)
+ n1, n2 = match.group(1), match.group(2)
+ if not graph.has_key(n1):
+ graph[n1] = []
+ graph[n1].append(n2)
+
+# Create subset of 'graph' rooted at 'top'
+
+subgraph = {}
+
+def add_deps(node):
+ if graph.has_key(node) and not subgraph.has_key(node):
+ subgraph[node] = graph[node]
+ for n in graph[node]:
+ add_deps(n)
+
+add_deps(top)
+
+# Generate output
+
+print lines[0],
+
+for key, value in subgraph.items():
+ for n in value:
+ print '\t"%s" -> "%s"' % (key, n)
+
+print lines[-1],
Property changes on: branches/SAMBA_4_0/source/script/depfilter.py
___________________________________________________________________
Name: svn:executable
+ *
More information about the samba-cvs
mailing list