You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by jb...@apache.org on 2010/12/03 10:14:29 UTC
svn commit: r1041739 -
/commons/sandbox/gsoc/2010/scxml-js/trunk/src/python/scxml/cgf/SCXMLCompiler.py
Author: jbeard
Date: Fri Dec 3 09:14:29 2010
New Revision: 1041739
URL: http://svn.apache.org/viewvc?rev=1041739&view=rev
Log:
Refactored python frontend based on API change.
Modified:
commons/sandbox/gsoc/2010/scxml-js/trunk/src/python/scxml/cgf/SCXMLCompiler.py
Modified: commons/sandbox/gsoc/2010/scxml-js/trunk/src/python/scxml/cgf/SCXMLCompiler.py
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/python/scxml/cgf/SCXMLCompiler.py?rev=1041739&r1=1041738&r2=1041739&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/src/python/scxml/cgf/SCXMLCompiler.py (original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/src/python/scxml/cgf/SCXMLCompiler.py Fri Dec 3 09:14:29 2010
@@ -19,19 +19,26 @@ import sys
import pkg_resources
import getopt
from lxml import etree
+import StringIO
#import pdb
-def compile(pathsToSCXML=[],backend="state",options={}):
- #open it
+#TODO: refactor this API
+def compile_from_path(pathsToSCXML=[],backend="state",options={}):
sourceDocuments = map(lambda p : etree.parse(p), pathsToSCXML)
+ return compile(sourceDocuments,backend,options)
+def compile_from_string(scxmlStrings=[],backend="state",options={}):
+ sourceDocuments = map(lambda p : etree.parse(StringIO.StringIO(p)), scxmlStrings)
+ return compile(sourceDocuments,backend,options)
+
+def compile(sourceDocuments,backend,options):
#do some transforms
if backend == "state":
from scxml.cgf.backends.js.StatePatternStatechartGenerator import config
elif backend == "table":
from scxml.cgf.backends.js.StateTableStatechartGenerator import config
elif backend == "switch":
- from scxml.cgf.backends.js.SwitchyardGenerator import config
+ from scxml.cgf.backends.js.SwitchyardStatechartGenerator import config
else:
print "Backend not recognized!"
@@ -102,7 +109,7 @@ def main():
#print "opts: ", optlist
#print "args: ", args
opts = optlistToDict(optlist)
- results = compile(args,opts["--backend"],opts)
+ results = compile_from_path(args,opts["--backend"],opts)
for result in results:
print result