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


Reply via email to