
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
49 lines
1.7 KiB
Python
49 lines
1.7 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
|
|
from ironic.api.controllers import link
|
|
|
|
|
|
class Collection(base.APIBase):
|
|
|
|
next = wtypes.text
|
|
"""A link to retrieve the next subset of the collection"""
|
|
|
|
@property
|
|
def collection(self):
|
|
return getattr(self, self._type)
|
|
|
|
def has_next(self, limit):
|
|
"""Return whether collection has more items."""
|
|
return len(self.collection) and len(self.collection) == limit
|
|
|
|
def get_next(self, limit, url=None, **kwargs):
|
|
"""Return a link to the next subset of the collection."""
|
|
if not self.has_next(limit):
|
|
return wtypes.Unset
|
|
|
|
resource_url = url or self._type
|
|
q_args = ''.join(['%s=%s&' % (key, kwargs[key]) for key in kwargs])
|
|
next_args = '?%(args)slimit=%(limit)d&marker=%(marker)s' % {
|
|
'args': q_args, 'limit': limit,
|
|
'marker': self.collection[-1].uuid}
|
|
|
|
return link.Link.make_link('next', pecan.request.host_url,
|
|
resource_url, next_args).href
|