1 # Copyright (c) 2015 Taturiello Consulting, Meh.
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
18 from neutron import manager
20 # Utility functions for Pecan controllers.
23 def expose(*args, **kwargs):
24 """Helper function so we don't have to specify json for everything."""
25 kwargs.setdefault('content_type', 'application/json')
26 kwargs.setdefault('template', 'json')
27 return pecan.expose(*args, **kwargs)
30 def when(index, *args, **kwargs):
31 """Helper function so we don't have to specify json for everything."""
32 kwargs.setdefault('content_type', 'application/json')
33 kwargs.setdefault('template', 'json')
34 return index.when(*args, **kwargs)
37 class NeutronPecanController(object):
39 def __init__(self, collection, resource):
40 self.collection = collection
41 self.resource = resource
42 self.plugin = manager.NeutronManager.get_plugin_for_resource(