1 from sfa.rspecs.rspec_version import BaseVersion
2 from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements
9 schema = 'http://www.protogeni.net/resources/rspec/2/ad.xsd'
10 namespace = 'http://www.protogeni.net/resources/rspec/2'
12 'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
13 'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1",
15 template = '<rspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.protogeni.net/resources/rspec/2" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/ad.xsd" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" />'
17 class PGv2Request(PGv2):
20 content_type = 'request'
22 schema = 'http://www.protogeni.net/resources/rspec/2/request.xsd'
23 namespace = 'http://www.protogeni.net/resources/rspec/2'
25 'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
26 'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1",
28 template = '<rspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.protogeni.net/resources/rspec/2" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/request.xsd" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" />'
30 class PGv2Manifest(PGv2):
33 content_type = 'manifest'
35 schema = 'http://www.protogeni.net/resources/rspec/2/manifest.xsd'
36 namespace = 'http://www.protogeni.net/resources/rspec/2'
38 'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
39 'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1",
41 template = '<rspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.protogeni.net/resources/rspec/2" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/manifest.xsd" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" />'
43 class PGv2(BaseVersion):
45 RSpecElement(RSpecElements.NETWORK, 'network', '//default:node[@component_manager_id][1]'),
46 RSpecElement(RSpecElements.NODE, 'node', '//default:node | //node'),
47 RSpecElement(RSpecElements.SLIVER, 'sliver', '//default:node/default:sliver_type | //node/sliver_type'),
52 if __name__ == '__main__':
53 from sfa.rspecs.rspec import RSpec
54 from sfa.rspecs.rspec_elements import *
55 r = RSpec('/tmp/pg.rspec')
56 r.load_rspec_elements(PGv2.elements)
57 r.namespaces = PGv2.namespaces
58 print r.get(RSpecElements.NODE)