Assembla home | Assembla project page
 

root/gen.py

Revision 1, 0.7 kB (checked in by nEUrOO, 1 year ago)

--

Line 
1 from lxml import etree
2 import sys, os
3
4 def generate_DOT(xmlName):
5         xsl_tree = etree.parse('./xslt/toDot.xsl')
6         transform = etree.XSLT(xsl_tree)
7         doc = etree.parse(xmlName)
8         result = transform(doc)
9         out = open(xmlName[:xmlName.rfind('.xml')] + '.dot', 'w')
10         out.write(str(result))
11         out.close()
12         # call the DOT software now
13         os.system("dot -Tpng -o" + xmlName[:xmlName.rfind('.xml')] + '.png' + " " + xmlName[:xmlName.rfind('.xml')] + '.dot')
14         os.system("rm -f " + xmlName[:xmlName.rfind('.xml')] + '.dot')
15
16 def generate_AST(fname):
17         xml_name = fname[:fname.rfind('.php')] + '.xml'
18         os.system("php-ast.exe " + fname + " " + xml_name)
19         return xml_name
20
21 if __name__ == '__main__':
22         fname = sys.argv[1]
23         xml_name = generate_AST(fname)
24         generate_DOT(xml_name)
Note: See TracBrowser for help on using the browser.