From 8eb4be521fe07272bc70ab1b3840cadd5d99923a Mon Sep 17 00:00:00 2001 From: Deniz Turgut Date: Thu, 25 Nov 2021 23:51:47 +0300 Subject: [PATCH] use docutils.Node.findall instead of traverse docutils.Node.traverse is being deprecated as of docutils==0.18.1 --- pelican/readers.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pelican/readers.py b/pelican/readers.py index b42fa4f8..03c3cc20 100644 --- a/pelican/readers.py +++ b/pelican/readers.py @@ -222,7 +222,14 @@ class RstReader(BaseReader): 'Ensure exactly one top level section', source_path) - for docinfo in document.traverse(docutils.nodes.docinfo): + try: + # docutils 0.18.1+ + nodes = document.findall(docutils.nodes.docinfo) + except AttributeError: + # docutils 0.18.0 or before + nodes = document.traverse(docutils.nodes.docinfo) + + for docinfo in nodes: for element in docinfo.children: if element.tagname == 'field': # custom fields (e.g. summary) name_elem, body_elem = element.children