Ruby Loo fb6cf77d97 Use docstrings for attributes in api/controllers
We're using one double-quote for delimiting the strings that describe
attributes. If the string spans more than one line, only the first line
is used when sphinx generates the documentation. eg, for last_error, the
generated documentation shows:
  Any error from the most recent (last) asynchronous transaction that

instead of
  Any error from the most recent (last) asynchronous transaction that
  started but failed to finish.

Using the docstring (three double-quotes) syntax addresses this. All the
attributes in api/controllers were modified accordingly. This makes them
consistent so that any additions/changes to these strings in the future
will appear in the generated documentation as expected. (As opposed to
only changing the ones that span more than one line.)

[1] http://docs.openstack.org/developer/ironic/webapi/v1.html

Change-Id: I84e4ba9c22827838ff31ba96a788cfc22609c8a5
2014-10-27 21:47:18 +00:00

59 lines
2.0 KiB
Python

# Copyright 2013 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import pecan
from wsme import types as wtypes
from ironic.api.controllers import base
def build_url(resource, resource_args, bookmark=False, base_url=None):
if base_url is None:
base_url = pecan.request.host_url
template = '%(url)s/%(res)s' if bookmark else '%(url)s/v1/%(res)s'
# FIXME(lucasagomes): I'm getting a 404 when doing a GET on
# a nested resource that the URL ends with a '/'.
# https://groups.google.com/forum/#!topic/pecan-dev/QfSeviLg5qs
template += '%(args)s' if resource_args.startswith('?') else '/%(args)s'
return template % {'url': base_url, 'res': resource, 'args': resource_args}
class Link(base.APIBase):
"""A link representation."""
href = wtypes.text
"""The url of a link."""
rel = wtypes.text
"""The name of a link."""
type = wtypes.text
"""Indicates the type of document/link."""
@classmethod
def make_link(cls, rel_name, url, resource, resource_args,
bookmark=False, type=wtypes.Unset):
href = build_url(resource, resource_args,
bookmark=bookmark, base_url=url)
return Link(href=href, rel=rel_name, type=type)
@classmethod
def sample(cls):
sample = cls(href="http://localhost:6385/chassis/"
"eaaca217-e7d8-47b4-bb41-3f99f20eed89",
rel="bookmark")
return sample