Set lock_path correctly.
[openstack-build/neutron-build.git] / neutron / pecan_wsgi / controllers / utils.py
1 # Copyright (c) 2015 Taturiello Consulting, Meh.
2 # All Rights Reserved.
3 #
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
7 #
8 #         http://www.apache.org/licenses/LICENSE-2.0
9 #
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
14 #    under the License.
15
16 import pecan
17
18 from neutron import manager
19
20 # Utility functions for Pecan controllers.
21
22
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)
28
29
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)
35
36
37 class NeutronPecanController(object):
38
39     def __init__(self, collection, resource):
40         self.collection = collection
41         self.resource = resource
42         self.plugin = manager.NeutronManager.get_plugin_for_resource(
43             self.resource)