|
From: <mi...@us...> - 2025-11-28 13:51:59
|
Revision: 10265
http://sourceforge.net/p/docutils/code/10265
Author: milde
Date: 2025-11-28 13:51:57 +0000 (Fri, 28 Nov 2025)
Log Message:
-----------
Simplify `ClassAttribute` transform.
Use `node.findall()` instead of a re-implementation to find the
right element to attach the class attribute to.
No change to functionality.
Modified Paths:
--------------
trunk/docutils/docutils/transforms/misc.py
Modified: trunk/docutils/docutils/transforms/misc.py
===================================================================
--- trunk/docutils/docutils/transforms/misc.py 2025-11-28 13:51:41 UTC (rev 10264)
+++ trunk/docutils/docutils/transforms/misc.py 2025-11-28 13:51:57 UTC (rev 10265)
@@ -45,22 +45,14 @@
def apply(self) -> None:
pending = self.startnode
- parent = pending.parent
- child = pending
- while parent:
- # Check for appropriate following siblings:
- for index in range(parent.index(child) + 1, len(parent)):
- element = parent[index]
- if (isinstance(element, nodes.Invisible)
- or isinstance(element, nodes.system_message)):
- continue
- element['classes'] += pending.details['class']
- pending.parent.remove(pending)
- return
- else:
- # At end of section or container; apply to sibling
- child = parent
- parent = parent.parent
+ for element in pending.findall(include_self=False, descend=False,
+ siblings=True, ascend=True):
+ if isinstance(element, (nodes.Invisible, nodes.system_message)):
+ continue
+ element['classes'] += pending.details['class']
+ pending.parent.remove(pending)
+ return
+
error = self.document.reporter.error(
'No suitable element following "%s" directive'
% pending.details['directive'],
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|