◐ Shell
clean mode source ↗

[3.12] GH-101986: Support translation for Limited/Unstable API & Stable ABI (GH-107680) by miss-islington · Pull Request #112940 · python/cpython

Expand Up @@ -126,48 +126,48 @@ def add_annotations(self, app, doctree): f"Object type mismatch in limited API annotation " f"for {name}: {record['role']!r} != {objtype!r}") stable_added = record['added'] message = ' Part of the ' message = sphinx_gettext(' Part of the ') emph_node = nodes.emphasis(message, message, classes=['stableabi']) ref_node = addnodes.pending_xref( 'Stable ABI', refdomain="std", reftarget='stable', reftype='ref', refexplicit="False") struct_abi_kind = record['struct_abi_kind'] if struct_abi_kind in {'opaque', 'members'}: ref_node += nodes.Text('Limited API') ref_node += nodes.Text(sphinx_gettext('Limited API')) else: ref_node += nodes.Text('Stable ABI') ref_node += nodes.Text(sphinx_gettext('Stable ABI')) emph_node += ref_node if struct_abi_kind == 'opaque': emph_node += nodes.Text(' (as an opaque struct)') emph_node += nodes.Text(sphinx_gettext(' (as an opaque struct)')) elif struct_abi_kind == 'full-abi': emph_node += nodes.Text(' (including all members)') emph_node += nodes.Text(sphinx_gettext(' (including all members)')) if record['ifdef_note']: emph_node += nodes.Text(' ' + record['ifdef_note']) if stable_added == '3.2': # Stable ABI was introduced in 3.2. pass else: emph_node += nodes.Text(f' since version {stable_added}') emph_node += nodes.Text(sphinx_gettext(' since version %s') % stable_added) emph_node += nodes.Text('.') if struct_abi_kind == 'members': emph_node += nodes.Text( ' (Only some members are part of the stable ABI.)') sphinx_gettext(' (Only some members are part of the stable ABI.)')) node.insert(0, emph_node)
# Unstable API annotation. if name.startswith('PyUnstable'): warn_node = nodes.admonition( classes=['unstable-c-api', 'warning']) message = 'This is ' message = sphinx_gettext('This is ') emph_node = nodes.emphasis(message, message) ref_node = addnodes.pending_xref( 'Unstable API', refdomain="std", reftarget='unstable-c-api', reftype='ref', refexplicit="False") ref_node += nodes.Text('Unstable API') ref_node += nodes.Text(sphinx_gettext('Unstable API')) emph_node += ref_node emph_node += nodes.Text('. It may change without warning in minor releases.') emph_node += nodes.Text(sphinx_gettext('. It may change without warning in minor releases.')) warn_node += emph_node node.insert(0, warn_node)
Expand Down