initial checkin
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Mon, 25 Apr 2011 19:06:16 +0000 (15:06 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Mon, 25 Apr 2011 19:06:16 +0000 (15:06 -0400)
sfa/rspecs/rspec_parser.py [new file with mode: 0755]

diff --git a/sfa/rspecs/rspec_parser.py b/sfa/rspecs/rspec_parser.py
new file mode 100755 (executable)
index 0000000..9ab9e7f
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/python
+from sfa.rspecs.sfa_rspec import SfaRSpec
+from sfa.rspecs.pg_rspec import PGRSpec
+from sfa.rspecs.rspec import RSpec
+from lxml import etree 
+
+def parse_rspec(in_rspec):
+    rspec = RSpec(rspec=in_rspec)
+    # really simple check
+    # TODO: check against schema instead
+    out_rspec = None 
+    if rspec.xml.xpath('//network'):
+        #out_rspec = SfaRSpec(in_rspec)
+        out_rspec = SfaRSpec()
+        out_rspec.xml = rspec
+    else:
+        #out_rspec = PGRSpec(in_rspec)
+        out_rspec = PGRSpec()
+        out_rspec.xml = rspec
+    return out_rspec
+
+
+if __name__ == '__main__':
+    
+    print "Parsing SFA RSpec:", 
+    rspec = parse_rspec('nodes.rspec')
+    print rspec.type
+    rspec = parse_rspec('protogeni.rspec')
+    print "Parsing ProtoGENI RSpec:", 
+    print rspec.type
+    
+    
+