Final touches and bug/pep8 fixes.
This commit is contained in:
@@ -146,7 +146,6 @@ class APIRouterV11(APIRouter):
|
|||||||
collection={'detail': 'GET'})
|
collection={'detail': 'GET'})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Versions(wsgi.Application):
|
class Versions(wsgi.Application):
|
||||||
@webob.dec.wsgify(RequestClass=wsgi.Request)
|
@webob.dec.wsgify(RequestClass=wsgi.Request)
|
||||||
def __call__(self, req):
|
def __call__(self, req):
|
||||||
|
|||||||
@@ -56,17 +56,6 @@ class Controller(wsgi.Controller):
|
|||||||
self.__compute = compute_service or compute.API()
|
self.__compute = compute_service or compute.API()
|
||||||
self.__image = image_service or _default_service
|
self.__image = image_service or _default_service
|
||||||
|
|
||||||
def get_builder(self, request):
|
|
||||||
"""
|
|
||||||
Property to get the ViewBuilder class we need to use.
|
|
||||||
"""
|
|
||||||
version = common.get_api_version(request)
|
|
||||||
base_url = request.application_url
|
|
||||||
try:
|
|
||||||
return self._builder_dispatch[version](base_url)
|
|
||||||
except KeyError:
|
|
||||||
raise exc.HTTPNotFound()
|
|
||||||
|
|
||||||
def index(self, req):
|
def index(self, req):
|
||||||
"""
|
"""
|
||||||
Return an index listing of images available to the request.
|
Return an index listing of images available to the request.
|
||||||
@@ -76,7 +65,7 @@ class Controller(wsgi.Controller):
|
|||||||
context = req.environ['nova.context']
|
context = req.environ['nova.context']
|
||||||
images = self.__image.index(context)
|
images = self.__image.index(context)
|
||||||
build = self.get_builder(req).build
|
build = self.get_builder(req).build
|
||||||
return dict(images=[build(req, image, False) for image in images])
|
return dict(images=[build(image, False) for image in images])
|
||||||
|
|
||||||
def detail(self, req):
|
def detail(self, req):
|
||||||
"""
|
"""
|
||||||
@@ -87,7 +76,7 @@ class Controller(wsgi.Controller):
|
|||||||
context = req.environ['nova.context']
|
context = req.environ['nova.context']
|
||||||
images = self.__image.detail(context)
|
images = self.__image.detail(context)
|
||||||
build = self.get_builder(req).build
|
build = self.get_builder(req).build
|
||||||
return dict(images=[build(req, image, True) for image in images])
|
return dict(images=[build(image, True) for image in images])
|
||||||
|
|
||||||
def show(self, req, image_id):
|
def show(self, req, image_id):
|
||||||
"""
|
"""
|
||||||
@@ -98,7 +87,7 @@ class Controller(wsgi.Controller):
|
|||||||
"""
|
"""
|
||||||
context = req.environ['nova.context']
|
context = req.environ['nova.context']
|
||||||
image = self.__image.show(context, image_id)
|
image = self.__image.show(context, image_id)
|
||||||
return self.get_builder(req).build(req, image, True)
|
return self.get_builder().build(req, image, True)
|
||||||
|
|
||||||
def delete(self, req, image_id):
|
def delete(self, req, image_id):
|
||||||
"""
|
"""
|
||||||
@@ -132,18 +121,30 @@ class Controller(wsgi.Controller):
|
|||||||
raise exc.HTTPBadRequest()
|
raise exc.HTTPBadRequest()
|
||||||
|
|
||||||
image = self.__compute.snapshot(context, server_id, image_name)
|
image = self.__compute.snapshot(context, server_id, image_name)
|
||||||
return self.get_builder(req).build(req, image, True)
|
return self.get_builder(req).build(image, True)
|
||||||
|
|
||||||
|
|
||||||
class ControllerV10(Controller):
|
class ControllerV10(Controller):
|
||||||
"""
|
"""
|
||||||
Version 1.0 specific controller logic.
|
Version 1.0 specific controller logic.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
def get_builder(self, request):
|
||||||
|
"""
|
||||||
|
Property to get the ViewBuilder class we need to use.
|
||||||
|
"""
|
||||||
|
base_url = request.application_url
|
||||||
|
return images_view.ViewBuilderV10(base_url)
|
||||||
|
|
||||||
|
|
||||||
class ControllerV11(Controller):
|
class ControllerV11(Controller):
|
||||||
"""
|
"""
|
||||||
Version 1.1 specific controller logic.
|
Version 1.1 specific controller logic.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
def get_builder(self, request):
|
||||||
|
"""
|
||||||
|
Property to get the ViewBuilder class we need to use.
|
||||||
|
"""
|
||||||
|
base_url = request.application_url
|
||||||
|
return images_view.ViewBuilderV11(base_url)
|
||||||
|
|||||||
@@ -516,6 +516,7 @@ class Controller(wsgi.Controller):
|
|||||||
|
|
||||||
return kernel_id, ramdisk_id
|
return kernel_id, ramdisk_id
|
||||||
|
|
||||||
|
|
||||||
class ControllerV10(Controller):
|
class ControllerV10(Controller):
|
||||||
def _image_id_from_req_data(self, data):
|
def _image_id_from_req_data(self, data):
|
||||||
return data['server']['imageId']
|
return data['server']['imageId']
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ class ViewBuilderV11(ViewBuilder):
|
|||||||
"""
|
"""
|
||||||
Return a standardized image structure for display by the API.
|
Return a standardized image structure for display by the API.
|
||||||
"""
|
"""
|
||||||
image = ViewBuilder.build(self, request, image_obj, detail)
|
image = ViewBuilder.build(self, image_obj, detail)
|
||||||
href = self.generate_url(image_obj["id"])
|
href = self.generate_href(image_obj["id"])
|
||||||
|
|
||||||
image["links"] = [{
|
image["links"] = [{
|
||||||
"rel": "self",
|
"rel": "self",
|
||||||
|
|||||||
Reference in New Issue
Block a user