summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/graph.py
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2007-02-06 03:23:52 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:44:34 -0500
commitef256c958066c19bb10cbe9745bdf96b6514762d (patch)
treedbe379cb3021c5af2d1b8f74528e4fff968fc712 /webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/graph.py
parenta8d0f5df6266aeacdb20326094c0401618ab62e8 (diff)
downloadsamba-ef256c958066c19bb10cbe9745bdf96b6514762d.tar.gz
samba-ef256c958066c19bb10cbe9745bdf96b6514762d.tar.bz2
samba-ef256c958066c19bb10cbe9745bdf96b6514762d.zip
r21167: - Upgrade to latest released qooxdoo. This is step 1 of the upgrade process,
which involves adding the latest SDK. This new version has not 2, but 4 icon themes. In order to quiet Andrew B. who thinks that 9000+ files in a gui api is too many (come on, disk space is free these days :-), I have removed 3 of the 4 icon themes, leaving only the default, Nuvola. That lowers the file count by 1/3. I'm sure Andrew still isn't happy, but I hope he's a bit happier... Step 2 will make him happier yet. (This used to be commit d161c1382c36238105b85d0499d5a1011f580f52)
Diffstat (limited to 'webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/graph.py')
-rwxr-xr-xwebapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/graph.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/graph.py b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/graph.py
new file mode 100755
index 0000000000..b5bac4c94e
--- /dev/null
+++ b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/graph.py
@@ -0,0 +1,73 @@
+import os
+import math
+import filetool
+################################################################################
+#
+# qooxdoo - the new era of web development
+#
+# http://qooxdoo.org
+#
+# Copyright:
+# 2006-2007 1&1 Internet AG, Germany, http://www.1and1.org
+#
+# License:
+# LGPL: http://www.gnu.org/licenses/lgpl.html
+# EPL: http://www.eclipse.org/org/documents/epl-v10.php
+# See the LICENSE file in the project's top-level directory for details.
+#
+# Authors:
+# * Fabian Jakobs (fjakobs)
+#
+################################################################################
+
+# Write dependencies to a Graphviz compatible file (http://www.graphviz.org/)
+
+def dotLine(fileDb, fileId, depEntry, largetFileSize):
+ file = fileId.split(".")
+ dep = depEntry.split(".")
+ weight = 1
+
+ for i in range(len(file)):
+ if file[i] == dep[i]:
+ weight += 1
+ else:
+ break
+
+ size = os.path.getsize(fileDb[fileId]["path"])
+
+ content = ' "%s" [color="%s %s 1.000"];\n' % (fileId, math.log(size)/math.log(largetFileSize), math.log(size)/math.log(largetFileSize))
+ content += ' "%s" -> "%s" [weight=%s];\n' % (fileId, depEntry, weight)
+
+ return content
+
+
+def store(fileDb, sortedIncludeList, options):
+ content = '''digraph "qooxdoo" {
+node [style=filled];
+'''
+
+ largest = 0
+ for fileId in sortedIncludeList:
+ size = os.path.getsize(fileDb[fileId]["path"])
+ if size > largest:
+ largest = size
+
+ for fileId in sortedIncludeList:
+ if len(fileDb[fileId]["loadtimeDeps"]) > 0:
+ for depEntry in fileDb[fileId]["loadtimeDeps"]:
+ content += dotLine(fileDb, fileId, depEntry, largest)
+
+ if len(fileDb[fileId]["afterDeps"]) > 0:
+ for depEntry in fileDb[fileId]["afterDeps"]:
+ content += dotLine(fileDb, fileId, depEntry, largest)
+
+ if len(fileDb[fileId]["runtimeDeps"]) > 0:
+ for depEntry in fileDb[fileId]["runtimeDeps"]:
+ content += dotLine(fileDb, fileId, depEntry, largest)
+
+ if len(fileDb[fileId]["loadDeps"]) > 0:
+ for depEntry in fileDb[fileId]["loadDeps"]:
+ content += dotLine(fileDb, fileId, depEntry, largest)
+
+ content += '}'
+ filetool.save(options.depDotFile, content) \ No newline at end of file