From 08f127a3cad8ce4eb281d30d9488c91b0fd7cfed Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Fri, 15 Jun 2018 11:05:15 +0300 Subject: bpo-33851: Fix ast.get_docstring() for a node that lacks a docstring. (GH-7682) --- Lib/ast.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Lib/ast.py') diff --git a/Lib/ast.py b/Lib/ast.py index 134d9d2758..bfe346bba8 100644 --- a/Lib/ast.py +++ b/Lib/ast.py @@ -206,7 +206,7 @@ def get_docstring(node, clean=True): """ if not isinstance(node, (AsyncFunctionDef, FunctionDef, ClassDef, Module)): raise TypeError("%r can't have docstrings" % node.__class__.__name__) - if not node.body: + if not(node.body and isinstance(node.body[0], Expr)): return None node = node.body[0].value if isinstance(node, Str): @@ -215,7 +215,7 @@ def get_docstring(node, clean=True): text = node.value else: return None - if clean and text: + if clean: import inspect text = inspect.cleandoc(text) return text -- cgit v1.2.1