X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Faggregate_manager_pl.py;h=417cd7c5b74dda1636ac6363e5c210bf7773b346;hb=d2e30ebc094f0f42adae67a8732e2b90046ae1c3;hp=76bfaae50b60c8fb085d3b7f7827a4fa625855ea;hpb=48036d0e8812f841359c56a62a117d5931c10da7;p=sfa.git diff --git a/sfa/managers/aggregate_manager_pl.py b/sfa/managers/aggregate_manager_pl.py index 76bfaae5..417cd7c5 100644 --- a/sfa/managers/aggregate_manager_pl.py +++ b/sfa/managers/aggregate_manager_pl.py @@ -180,19 +180,31 @@ def get_slices(api): slice_urns = [hrn_to_urn(slice_hrn, 'slice') for slice_hrn in slice_hrns] # cache the result - api.cache.add('slices', slice_urns) + if api.cache: + api.cache.add('slices', slice_urns) + return slice_urns - - def get_rspec(api, xrn=None, origin_hrn=None): + # look in cache first + if api.cache and not xrn: + rspec = api.cache.get('nodes') + if rspec: + return rspec + hrn, type = urn_to_hrn(xrn) network = Network(api) if (hrn): if network.get_slice(api, hrn): network.addSlice() - return network.toxml() + rspec = network.toxml() + + # cache the result + if api.cache and not xrn: + api.cache.add('nodes', rspec) + + return rspec """ Returns the request context required by sfatables. At some point, this