summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/requirements.txt1
-rw-r--r--doc/source/conf.py9
-rw-r--r--doc/source/history.rst1
-rw-r--r--doc/source/index.rst11
-rw-r--r--keystoneclient/base.py4
-rw-r--r--keystoneclient/tests/functional/v3/test_implied_roles.py6
-rw-r--r--test-requirements.txt1
-rw-r--r--tox.ini5
8 files changed, 21 insertions, 17 deletions
diff --git a/doc/requirements.txt b/doc/requirements.txt
index c4f9c7d..1da2c50 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -5,6 +5,7 @@
# These are needed for docs generation
openstackdocstheme>=1.20.0 # Apache-2.0
sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+sphinxcontrib-apidoc>=0.2.0 # BSD
reno>=2.5.0 # Apache-2.0
lxml!=3.7.0,>=3.4.1 # BSD
fixtures>=3.0.0 # Apache-2.0/BSD
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 751b01a..1dd272a 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -27,7 +27,7 @@ sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__),
# Add any Sphinx extension module names here, as strings. They can be
# extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc',
+extensions = ['sphinxcontrib.apidoc',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.intersphinx',
@@ -165,6 +165,13 @@ html_theme = 'openstackdocs'
# Output file base name for HTML help builder.
htmlhelp_basename = 'python-keystoneclientdoc'
+# -- sphinxcontrib.apidoc configuration --------------------------------------
+
+apidoc_module_dir = '../../keystoneclient'
+apidoc_output_dir = 'api'
+apidoc_excluded_paths = [
+ 'tests',
+]
# -- Options for LaTeX output -------------------------------------------------
diff --git a/doc/source/history.rst b/doc/source/history.rst
deleted file mode 100644
index 69ed4fe..0000000
--- a/doc/source/history.rst
+++ /dev/null
@@ -1 +0,0 @@
-.. include:: ../../ChangeLog
diff --git a/doc/source/index.rst b/doc/source/index.rst
index bee9630..f1114b6 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -1,3 +1,4 @@
+========================================================
Python bindings to the OpenStack Identity API (Keystone)
========================================================
@@ -27,19 +28,19 @@ provides `Identity Service`_, as well as `WSGI Middleware`_.
Release Notes
=============
-.. toctree::
- :maxdepth: 1
- history
+Read also the `Keystoneclient Release Notes
+<https://docs.openstack.org/releasenotes/python-keystoneclient/>`_.
+
Contributing
============
-Code is hosted `on GitHub`_. Submit bugs to the Keystone project on
+Code is hosted `on OpenDev`_. Submit bugs to the Keystone project on
`Launchpad`_. Submit code to the ``openstack/python-keystoneclient`` project
using `Gerrit`_.
-.. _on GitHub: https://github.com/openstack/python-keystoneclient
+.. _on OpenDev: https://opendev.org/openstack/python-keystoneclient
.. _Launchpad: https://launchpad.net/python-keystoneclient
.. _Gerrit: https://docs.openstack.org/infra/manual/developers.html#development-workflow
diff --git a/keystoneclient/base.py b/keystoneclient/base.py
index f5e38eb..e796934 100644
--- a/keystoneclient/base.py
+++ b/keystoneclient/base.py
@@ -555,7 +555,7 @@ class Resource(object):
except UnicodeEncodeError:
# This happens when we're running with Python version that
# does not support Unicode identifiers (e.g. Python 2.7).
- # In that case we can't help but not set this attrubute;
+ # In that case we can't help but not set this attribute;
# it'll be available in a dict representation though
pass
self._info[k] = v
@@ -564,7 +564,7 @@ class Resource(object):
pass
def __getattr__(self, k):
- """Checking attrbiute existence."""
+ """Checking attribute existence."""
if k not in self.__dict__:
# NOTE(bcwaldon): disallow lazy-loading if already loaded once
if not self.is_loaded():
diff --git a/keystoneclient/tests/functional/v3/test_implied_roles.py b/keystoneclient/tests/functional/v3/test_implied_roles.py
index 0d5dbc5..4a8b446 100644
--- a/keystoneclient/tests/functional/v3/test_implied_roles.py
+++ b/keystoneclient/tests/functional/v3/test_implied_roles.py
@@ -28,11 +28,7 @@ role_defs = ["test_admin",
"test_project_observer",
"test_member"]
-inference_rules = {"test_admin": "test_id_manager",
- "test_admin": "test_resource_manager",
- "test_admin": "test_role_manager",
- "test_admin": "test_catalog_manager",
- "test_admin": "test_policy_manager",
+inference_rules = {"test_admin": "test_policy_manager",
"test_id_manager": "test_project_observer",
"test_resource_manager": "test_project_observer",
"test_role_manager": "test_project_observer",
diff --git a/test-requirements.txt b/test-requirements.txt
index d27f88c..d9e1972 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12,6 +12,7 @@ keyring>=5.5.1;python_version>='3.4' # MIT/PSF
lxml!=3.7.0,>=3.4.1 # BSD
mock>=2.0.0 # BSD
oauthlib>=0.6.2 # BSD
+os-client-config>=1.28.0 # Apache-2.0
oslotest>=3.2.0 # Apache-2.0
requests-mock>=1.2.0 # Apache-2.0
tempest>=17.1.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index a135278..b1d7983 100644
--- a/tox.ini
+++ b/tox.ini
@@ -59,13 +59,12 @@ passenv = OS_*
# D104: Missing docstring in public package
# D203: 1 blank line required before class docstring (deprecated in pep257)
# W504 line break after binary operator
-# F601 dictionary key repeated with different value
-ignore = D100,D101,D102,D103,D104,D203,W504,F601
+ignore = D100,D101,D102,D103,D104,D203,W504
show-source = True
exclude = .venv,.tox,dist,doc,*egg,build
[testenv:docs]
-commands = python setup.py build_sphinx
+commands = sphinx-build -W -b html doc/source doc/build/html
deps = -r{toxinidir}/doc/requirements.txt
[testenv:pdf-docs]