1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import re
import os
def run():
sourceDirectory = "../lib/OpenLayers"
allFiles = []
SUFFIX_JAVASCRIPT = ".js"
## Find all the Javascript source files
for root, dirs, files in os.walk(sourceDirectory):
for filename in files:
if filename.endswith(SUFFIX_JAVASCRIPT) and not filename.startswith("."):
filepath = os.path.join(root, filename)[len(sourceDirectory)+1:]
filepath = filepath.replace("\\", "/")
data = open(os.path.join(sourceDirectory, filepath)).read()
parents = re.search("OpenLayers.Class\((.*?){", data,
re.DOTALL)
if parents:
parents = [x.strip() for x in parents.group(1).strip().strip(",").split(",")]
else:
parents = []
cls = "OpenLayers.%s" % filepath.strip(".js").replace("/", ".")
allFiles.append([cls, parents])
return allFiles
print """
digraph name {
fontname = "Helvetica"
fontsize = 8
K = 0.6
node [
fontname = "Helvetica"
fontsize = 8
shape = "plaintext"
]
"""
for i in run():
print i[0].replace(".", "_")
for item in i[1]:
if not item: continue
print "%s -> %s" % (i[0].replace(".","_"), item.replace(".", "_"))
print "; "
print """}"""
|