From bd0b4204cac645b570d4ff4a8cf90f5a331d9839 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Mon, 12 Feb 2018 10:23:01 +0900 Subject: [PATCH] Fix #4596: TypeError: issubclass() arg 1 must be a class --- sphinx/application.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sphinx/application.py b/sphinx/application.py index c484b7574..2eb71c556 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -17,6 +17,7 @@ import posixpath import sys import warnings from collections import deque +from inspect import isclass from os import path from docutils import nodes @@ -737,7 +738,7 @@ class Sphinx(object): directive = directive_helper(obj, content, arguments, **options) directives.register_directive(name, directive) - if not issubclass(obj, Directive): + if not isclass(obj) or not issubclass(obj, Directive): warnings.warn('function based directive support is now deprecated. ' 'Use class based directive instead.', RemovedInSphinx30Warning)