summaryrefslogtreecommitdiff
path: root/Tools/Python/ListWorkspace.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Python/ListWorkspace.py')
-rwxr-xr-xTools/Python/ListWorkspace.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/Tools/Python/ListWorkspace.py b/Tools/Python/ListWorkspace.py
new file mode 100755
index 0000000000..1a1c9deaef
--- /dev/null
+++ b/Tools/Python/ListWorkspace.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+
+"""List the contents of the Framework Database to the screen in a readble
+form."""
+
+import os, sys, getopt, string, xml.dom.minidom, zipfile, md5
+from XmlRoutines import *
+from WorkspaceRoutines import *
+
+def openDatabase(f):
+
+ print "Dumping the contents of %s workspace database file." % f
+
+ db = xml.dom.minidom.parse(inWorkspace(f))
+
+ return db
+
+def showSpds(db):
+
+ print "--------\nPackages\n--------"
+
+ for spdFile in XmlList(db, "/FrameworkDatabase/PackageList/Filename"):
+ spdFileName = XmlElementData(spdFile)
+ spd = xml.dom.minidom.parse(inWorkspace(spdFileName))
+ spdName = XmlElement(spd, "/PackageSurfaceArea/SpdHeader/PackageName")
+
+ print " %-24s %-10s" % (spdName, spdFileName)
+
+def showFpds(db):
+
+ print "--------\nPlatforms\n--------"
+
+ for fpdFile in XmlList(db, "/FrameworkDatabase/PlatformList/Filename"):
+ fpdFileName = XmlElementData(fpdFile)
+ fpd = xml.dom.minidom.parse(inWorkspace(fpdFileName))
+ fpdName = XmlElement(fpd, "/PlatformSurfaceArea/PlatformHeader/PlatformName")
+
+ print " %-24s %-10s" % (fpdName, fpdFileName)
+
+# This acts like the main() function for the script, unless it is 'import'ed
+# into another script.
+if __name__ == '__main__':
+
+ db = openDatabase("Tools/Conf/FrameworkDatabase.db")
+
+ showSpds(db)
+ showFpds(db)