X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Faggregate_manager_pl.py;h=437dd1515cdfecc998c4a0614252f9740445ee76;hb=f2a4ff047199d94add5e2240b952851e5a04445a;hp=d0eabdaa016a6660acc928f022e207c50d3716c4;hpb=9ba72fe5f76f0415d4b3e9365bf8e14426e272dd;p=sfa.git diff --git a/sfa/managers/aggregate_manager_pl.py b/sfa/managers/aggregate_manager_pl.py index d0eabdaa..437dd151 100644 --- a/sfa/managers/aggregate_manager_pl.py +++ b/sfa/managers/aggregate_manager_pl.py @@ -22,6 +22,7 @@ from sfa.plc.api import SfaAPI from sfa.plc.aggregate import Aggregate from sfa.plc.slices import * from sfa.util.version import version_core +from sfa.rspecs.rspec_version import RSpecVersion from sfa.util.sfatime import utcparse from sfa.util.callids import Callids @@ -306,18 +307,12 @@ def ListResources(api, creds, options,call_id): (hrn, type) = urn_to_hrn(xrn) # get the rspec's return format from options - try: - format_raw = options.get('rspec_version', 'SFA 1') - format_split = format_raw.split(' ') - format, version = format_split[0].lower(), format_split[1] - except: - # invalid format. Just continue - format, version = 'sfa', '1' - format_template = "rsepc_%s_%s" - + rspec_version = RSpecVersion(options.get('rspec_version', 'SFA 1')) + version_string = "rspec_%s_%s" % (rspec_version.format, rspec_version.version) + # look in cache first if caching and api.cache and not xrn: - rspec = api.cache.get(format_template % (format, version)) + rspec = api.cache.get(version_string) if rspec: api.logger.info("aggregate.ListResources: returning cached value for hrn %s"%hrn) return rspec @@ -326,13 +321,13 @@ def ListResources(api, creds, options,call_id): if xrn: # get this rspec for the specified slice - rspec = aggregate.get_rspec(slice_xrn=hrn, format=format) + rspec = aggregate.get_rspec(slice_xrn=hrn, version=rspec_version) else: # generate rspec in both pg and sfa formats - rspec = aggregate.get_rspec(format=format) + rspec = aggregate.get_rspec(version=rspec_version) # cache the result if caching and api.cache: - api.cache.add(format_template % (format, version), rspec) + api.cache.add(version_string, rspec) return rspec