Re: Getting the reST source of a section node in a Sphinx extension

Guenter Milde via Docutils-users <[email protected]> Mon, 6 Jan 2025 11:00:47 -0000 (UTC)
Newsgroups gmane.text.docutils.user
Message-ID <[email protected]>
T24gMjAyNS0wMS0wMiwgS2F5Y2UgQmFzcXVlcyB2aWEgRG9jdXRpbHMtdXNlcnMgd3JvdGU6Ci4u
Lgo+IEhlbGxvISBJIGJlbGlldmUgdGhpcyBpcyBteSBmaXJzdCBtZXNzYWdlIGluIHRoZSBEb2N1
dGlscyBjb21tdW5pdHkuIEknbSBhCj4gYmlnIGZhbiBvZiBTcGhpbnggYW5kIGFwcHJlY2lhdGUg
dGhlIGNvcmUgcm9sZSB0aGF0IERvY3V0aWxzIHBsYXlzIGluCj4gU3BoaW54LiBJIHN1YnNjcmli
ZWQgdG8gdGhpcyBsaXN0IGFuZCBhbSBleGNpdGVkIHRvIGJlIG1vcmUgYWN0aXZlIGluIHRoZQo+
IGNvbW11bml0eS4KCkhlbGxvIGFuZCB3ZWxjb21lIHRvIHRoZSBsaXN0LgoKPiBJJ20gd29ya2lu
ZyBvbiBhIFNwaGlueCBleHRlbnNpb24uIEluIG15IGRvY3RyZWUtcmVzb2x2ZWQgaGFuZGxlciBJ
Cj4gcmVjdXJzaXZlbHkgd2FsayB0aHJvdWdoIGFsbCBzZWN0aW9uIG5vZGVzLiBXaGVuIHRoZSBl
eHRlbnNpb24gZGV0ZWN0cwo+IHNvbWV0aGluZyB0aGF0IGNhbiBiZSBpbXByb3ZlZCBpbiB0aGUg
dW5kZXJseWluZyBjb250ZW50LCBpdCdzIG9mdGVuCj4gcG9zc2libGUgZm9yIHRoZSBleHRlbnNp
b24gdG8gbWFrZSB0aGUgZWRpdHMgYXV0b21hdGljYWxseS4gSXMgdGhlIGxpbmUKPiBwcm9wZXJ0
eSBvZiB0aGUgTm9kZSBjbGFzcyB0aGUgb25seSByZWZlcmVuY2UgYmFjayB0byB0aGUgdW5kZXJs
eWluZwo+IHJlU3RydWN0dXJlZFRleHQ/IAoKVGhlIGludGVybmFsIGF0dHJpYnV0ZXMgYGBub2Rl
LnNvdXJjZWBgIGFuZCBgYG5vZGUubGluZWBgIGhvbGQgdGhlIHBhdGgKb3IgZGVzY3JpcHRpb24g
b2YgdGhlIGlucHV0IHNvdXJjZSBhbmQgaXRzIHN0YXJ0LWxpbmUgbnVtYmVyIHJlc3BlY3RpdmVs
eQooY2YuIGRvY3V0aWxzLm5vZGVzLk5vZGUuc291cmNlIGFuZCBkb2N1dGlscy5ub2Rlcy5Ob2Rl
LmxpbmUpLgoKKiBgYG5vZGUuc291cmNlYGAgZGlmZmVycyBmcm9tIHRoZSBnbG9iYWwgZG9jdW1l
bnQgc291cmNlIGZvciBwYXJ0cwogIGluY2x1ZGVkIGJ5IHRoZSAiaW5jbHVkZSIgZGlyZWN0aXZl
LgoqIE5vdCBldmVyeSBub2RlIGhhcyB0aGVzZSBhdHRyaWJ1dGVzCiAgKGNmLsKgaHR0cHM6Ly9z
b3VyY2Vmb3JnZS5uZXQvcC9kb2N1dGlscy9mZWF0dXJlLXJlcXVlc3RzLzQxLykuCiAgRm9yIGlu
bGluZSBub2RlcywgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHBhcmVudCBibG9jay1sZXZlbCBub2Rl
IGFyZSB1c2VkCiAgaW4gZXJyb3IgcmVwb3J0aW5nLgoKQWRkaXRpb25hbGx5LCB0aGVyZSBpcyB0
aGUgaW50ZXJuYWwgYHJhd3NvdXJjZWAgYXR0cmlidXRlIHRoYXQgaXMgc2V0IGluCmRvY3V0aWxz
Lm5vZGVzLkVsZW1lbnQuX19pbml0X19gLiBJdCBjb21lcyB3aXRoIGEgY2F2ZWF0OjoKCiAgICAg
ICAgIiIiVGhlIHJhdyB0ZXh0IGZyb20gd2hpY2ggdGhpcyBlbGVtZW50IHdhcyBjb25zdHJ1Y3Rl
ZC4KCiAgICAgICAgRm9yIGluZm9ybWF0aXZlIGFuZCBkZWJ1Z2dpbmcgcHVycG9zZXMuIERvbid0
IHJlbHkgb24gaXRzIHZhbHVlIQoKICAgICAgICBOT1RFOiBzb21lIGVsZW1lbnRzIGRvIG5vdCBz
ZXQgdGhpcyB2YWx1ZSAoZGVmYXVsdCAnJykuCiAgICAgICAgIiIiCgo+IEp1c3Qgd2FudGVkIHRv
IGNoZWNrIHRoYXQgdGhlcmUncyBubyBleHBsaWNpdCByZWZlcmVuY2UKPiB0byB0aGUgZW5kIGxp
bmUgb2YgdGhlIG5vZGUsIGFuZCBJJ20gZXhwZWN0ZWQgdG8gbWFudWFsbHkgY29tcHV0ZSB0aGUg
ZW5kCj4gbGluZS4gVGhlIG1hbnVhbCBjb21wdXRhdGlvbiBoYXMgYmVlbiBraW5kYSBlcnJvci1w
cm9uZSBhbmQgYnJpdHRsZSBmb3IgbWUKPiBzbyBmYXIuIFNlZW1zIGxpa2UgdGhlIGltcGxlbWVu
dGF0aW9uIGNvdWxkIGJlIG11Y2ggc2ltcGxlciBhbmQgYnVsbGV0cHJvb2YKPiBpZiByZVNUIGV4
cGxpY2l0bHkgZ2F2ZSBtZSB0aGUgZW5kIGxpbmUuIEp1c3Qgd2FudGVkIHRvIG1ha2Ugc3VyZSB0
aGVyZSdzCj4gbm8gYmV0dGVyIHdheSB0byBkbyB0aGlzLgoKRm9yIGJsb2NrLWxldmVsIGVsZW1l
bnRzLCB5b3UgbWF5IGNvbnNpZGVyIHVzaW5nIHRoZSBzdGFydCBsaW5lIG9mIHRoZQpuZXh0IG5v
ZGUgYXMgYSBzdGFydGluZyBwb2ludC4KCj4gT25lIGV4YW1wbGUgb2YgdGhlIG1hbnVhbCBjb21w
dXRhdGlvbiBJJ20gYWxsdWRpbmcgdG86Cgo+IGZyb20gZG9jdXRpbHMubm9kZXMgaW1wb3J0IHNl
Y3Rpb24KCj4gZGVmIGRvX3N0dWZmKGFwcCwgZG9jX3RyZWUsIGRvY19uYW1lKToKPiAgICAgZm9y
IG5vZGUgaW4gZG9jX3RyZWUudHJhdmVyc2Uoc2VjdGlvbik6Cj4gICAgICAgICB0ZXh0ID0gbm9k
ZS5hc3RleHQoKQo+ICAgICAgICAgc3RhcnQgPSBub2RlLmxpbmUKPiAgICAgICAgIGVuZCA9IHN0
YXJ0ICsgbGVuKHRleHQuc3BsaXRsaW5lcygpKSAgIyBPZnRlbiBpbmNvcnJlY3QKPiAgICAgICAg
IOKApgo+ICAgICAgICAgIyBBIGJldHRlciBhcHByb2FjaCBtaWdodCBiZSB0byBnZXQgdGhlIGZp
cnN0IGFuZCBsYXN0IGxpbmVzCj4gICAgICAgICAjIG9mIHRleHQgYW5kIHNlYXJjaCBmb3IgdGhv
c2UgZGVsaW1pdGVycyBpbiB0aGUgc291cmNlCgpUd28gc3VnZ2VzdGlvbnMgKHVudGVzdGVkKTo6
CgotICAgICAgICAgdGV4dCA9IG5vZGUuYXN0ZXh0KCkKKyAgICAgICAgIHRleHQgPSBub2RlLnJh
d3NvdXJjZSBvciBub2RlLmFzdGV4dCgpCgpvciA6OgoKLSAgICAgICAgIGVuZCA9IHN0YXJ0ICsg
bGVuKHRleHQuc3BsaXRsaW5lcygpKSAgIyBPZnRlbiBpbmNvcnJlY3QKKyAgICAgICAgIGVuZCA9
IG5vZGUubmV4dF9ub2RlKGRlc2NlbmQ9RmFsc2UsIHNpYmxpbmdzPVRydWUsIAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYXNjZW5kPVRydWUpLmxpbmUgLSAxCgoKSSBob3BlIHRoaXMg
bWF5IGdldCB5b3Ugc3RhcnRlZCBvbiBleHBlcmltZW50aW5nLi4uCgoKQSBoYXBweSBuZXcgeWVh
ciB0byBhbGwgRG9jdXRpbHMgdXNlcnMgYW5kIGRldmVsb3BlcnMsCgpHw7xudGVyCgoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRvY3V0aWxzLXVzZXJz
IG1haWxpbmcgbGlzdApEb2N1dGlscy11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6
Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vZG9jdXRpbHMtdXNlcnMKClBs
ZWFzZSB1c2UgIlJlcGx5IEFsbCIgdG8gcmVwbHkgdG8gdGhlIGxpc3QuCg==