[dia] wdeps.py : simple XML dump (use --xml)
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] wdeps.py : simple XML dump (use --xml)
- Date: Wed, 6 Oct 2010 22:00:44 +0000 (UTC)
commit e22510fd72dd3820391082984db0fd6656b0d62d
Author: Hans Breuer <hans breuer org>
Date: Wed Oct 6 22:52:39 2010 +0200
wdeps.py : simple XML dump (use --xml)
plug-ins/python/wdeps.py | 41 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 36 insertions(+), 5 deletions(-)
---
diff --git a/plug-ins/python/wdeps.py b/plug-ins/python/wdeps.py
index 2bd6207..de659ff 100644
--- a/plug-ins/python/wdeps.py
+++ b/plug-ins/python/wdeps.py
@@ -460,7 +460,7 @@ dllsSysWin32 = [
"ws2_32.dll", "ws2help.dll", "wsock32.dll", "ntdll.dll", "mpr.dll",
"rpcrt4.dll", "shlwapi.dll", "netapi32.dll", "msimg32.dll", "oledlg.dll",
"setupapi.dll", "secur32.dll", "avifil32.dll", "msvfw32.dll",
- "uxtheme.dll"]
+ "uxtheme.dll", "dnsapi.dll"]
dllsCrts = [
"msvcrt.dll", "msvcrtd.dll", "msvcp60.dll",
# "msvcrt20.dll",
@@ -602,6 +602,7 @@ def main () :
bReduce = 0
bTred = 0
bSaveDt = 0
+ bSaveXml = 0
sOutFilename = None
sPickle = None
@@ -654,6 +655,8 @@ def main () :
bDump = 1
elif arg == "--dt" :
bSaveDt = 1
+ elif arg == "--xml" :
+ bSaveXml = 1
elif arg == "--reduce" :
bReduce = 1
elif arg == "--tred" :
@@ -685,9 +688,9 @@ def main () :
# don't GetDeps here cause we need to first evaluate *all* parameters
if len(components) == 0 :
print "No DLL input found - wrong directory?"
- sys.exit(1)
+ break
sGraph = components[0]
- else :
+ elif len(arg)>0 :
sOutFilename = arg
print "arg is:", arg
if len(sys.argv) < 2 :
@@ -736,7 +739,7 @@ For more information read the source.
if not sOutFilename :
f = sys.stdout
else :
- # ... dot
+ # ... dot (or something)
f = open(sOutFilename, "w")
if bDump : # remember the command line
@@ -814,9 +817,38 @@ For more information read the source.
sys.exit (0)
if bSaveDt :
SaveDt (deps, f)
+ elif bSaveXml :
+ SaveXml (deps, f)
else :
SaveDot (deps, sGraph, bByUse, nSymbols, f)
+def SaveXml (deps, f) :
+ "simple XML dump"
+ f.write('<nodes count="%d">\n' % (len(deps.keys())))
+ f.write('\t'*1 + '<command>wdeps.py ' + string.join (sys.argv[1:], ' ') + '</command>\n')
+ deps_keys = deps.keys()
+ deps_keys.sort()
+ for sn in deps_keys :
+ node = deps[sn]
+ f.write('\t'*1 + '<node name="%s" symbols="%d">\n' % (sn, len(node.exports)))
+ edge_keys = node.deps.keys()
+ if edge_keys :
+ edge_keys.sort()
+ f.write('\t'*2 + '<edges count="%d">\n' % (len(edge_keys)))
+ for en in edge_keys :
+ edge = node.deps[en]
+ f.write('\t'*3 + '<edge name="%s" weight="%g">\n' % (en, edge.Weight()))
+ f.write('\t'*4 + '<symbols>\n')
+ symbols = edge.symbols
+ symbols.sort()
+ for sym in symbols :
+ f.write('\t'*5 + '<symbol name="%s"/>\n' % (sym))
+ f.write('\t'*4 + '</symbols>\n')
+ f.write('\t'*3 + '</edge>\n')
+ f.write('\t'*2 + '</edges>')
+ f.write('\t'*1 + '</node>\n')
+ f.write('</nodes>\n')
+
def SaveDt (deps, f) :
""" see: http://dtangler.org """
deps_keys = deps.keys()
@@ -904,4 +936,3 @@ def SaveDot (deps, sGraph, bByUse, nSymbols, f) :
f.write("}\n")
if __name__ == '__main__': main()
-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]