From cd6cd9d2d7c1c0e06f35a45f6d8b21b0d81f88d5 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Tue, 30 Oct 2018 08:56:12 -0500 Subject: [PATCH] Don't try to run issubclass on non-classes issubclass gets cranky if you give it a first argument that is not a class. http://logs.openstack.org/74/612474/2/check/cross-osc-build-sphinx-docs/42250a7/job-output.txt.gz#_2018-10-26_08_02_08_597700 Shows a failure when trying to build python-openstackclient docs with the cliff sphinxext after updating openstacksdk in such a way that an import error went away. Change-Id: Id1d17c66e5dd6e430376a8d6ea74abc4da5cbc75 --- cliff/sphinxext.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cliff/sphinxext.py b/cliff/sphinxext.py index 5ec34485..8a9a2e62 100644 --- a/cliff/sphinxext.py +++ b/cliff/sphinxext.py @@ -15,6 +15,7 @@ import argparse import fnmatch import importlib +import inspect import re import sys @@ -242,6 +243,8 @@ class AutoprogramCliffDirective(rst.Directive): cliff_app_class = getattr(sys.modules[mod_str], class_str) except AttributeError: return + if not inspect.isclass(cliff_app_class): + return if not issubclass(cliff_app_class, app.App): return app_arguments = self.options.get('arguments', '').split()