From: Tony Mack Date: Thu, 1 Sep 2011 20:46:02 +0000 (-0400) Subject: initial checkin of new rspec version implementation X-Git-Tag: sfa-1.0-36~41 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=3e1c2250b4fed7d7deb4863005c9756f97c02852;p=sfa.git initial checkin of new rspec version implementation --- diff --git a/sfa/rspecs/versions/__init__.py b/sfa/rspecs/versions/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/sfa/rspecs/versions/pgv2.py b/sfa/rspecs/versions/pgv2.py new file mode 100644 index 00000000..9504d3a9 --- /dev/null +++ b/sfa/rspecs/versions/pgv2.py @@ -0,0 +1,32 @@ +from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements + +class PGv2: + format = 'ProtoGENI' + type = '*' + version = '2' + schema = 'http://www.protogeni.net/resources/rspec/2/ad.xsd' + namespaces = { + 'default' : 'http://www.protogeni.net/resources/rspec/2', + 'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1", + 'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1", + } + elements = [ + RSpecElement(RSpecElements.NETWORK, 'network', '//default:node[@component_manager_id][1]'), + RSpecElement(RSpecElements.NODE, 'node', '//default:node | //node'), + RSpecElement(RSpecElements.SLIVER, 'sliver', '//default:node/default:sliver_type | //node/sliver_type'), + ] + + +class PGv2Ad(PGv2): + schema = 'http://www.protogeni.net/resources/rspec/2/ad.xsd' + +class PGv2Manifest(PGv2): + schema = 'http://www.protogeni.net/resources/rspec/2/manifest.xsd' + +if __name__ == '__main__': + from sfa.rspecs.rspec import RSpec + from sfa.rspecs.rspec_elements import * + r = RSpec('/tmp/pg.rspec') + r.load_rspec_elements(PGv2.elements) + r.namespaces = PGv2.namespaces + print r.get(RSpecElements.NODE) diff --git a/sfa/rspecs/versions/sfav1.py b/sfa/rspecs/versions/sfav1.py new file mode 100644 index 00000000..05538cce --- /dev/null +++ b/sfa/rspecs/versions/sfav1.py @@ -0,0 +1,21 @@ +from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements + +class SFAv1: + format = 'SFA' + type = '*' + version = '1' + schema = None + namespaces = {} + elements = [ + RSpecElement(RSpecElements.NETWORK, 'network', '//network'), + RSpecElement(RSpecElements.NODE, 'node', '//node'), + RSpecElement(RSpecElements.SLIVER, 'sliver', '//node/sliver'), + ] + + +if __name__ == '__main__': + from sfa.rspecs.rspec import RSpec + from sfa.rspecs.rspec_elements import * + r = RSpec('/tmp/resources.rspec') + r.load_rspec_elements(SFAv1.elements) + print r.get(RSpecElements.NODE)