gh-113637: Let c_annotations.py to handle the spacing of Limited/Unstable API & Stable ABI translation strings (#113638)

This commit is contained in:
Ege Akman 2024-01-03 14:22:38 +03:00 committed by GitHub
parent dc8df6e840
commit ea978c645e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 12 deletions

View file

@ -126,7 +126,8 @@ class Annotations:
f"Object type mismatch in limited API annotation "
f"for {name}: {record['role']!r} != {objtype!r}")
stable_added = record['added']
message = sphinx_gettext(' Part of the ')
message = sphinx_gettext('Part of the')
message = message.center(len(message) + 2)
emph_node = nodes.emphasis(message, message,
classes=['stableabi'])
ref_node = addnodes.pending_xref(
@ -139,27 +140,27 @@ class Annotations:
ref_node += nodes.Text(sphinx_gettext('Stable ABI'))
emph_node += ref_node
if struct_abi_kind == 'opaque':
emph_node += nodes.Text(sphinx_gettext(' (as an opaque struct)'))
emph_node += nodes.Text(' ' + sphinx_gettext('(as an opaque struct)'))
elif struct_abi_kind == 'full-abi':
emph_node += nodes.Text(sphinx_gettext(' (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(sphinx_gettext(' since version %s') % 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(
sphinx_gettext(' (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 = sphinx_gettext('This is ')
message = sphinx_gettext('This is') + ' '
emph_node = nodes.emphasis(message, message)
ref_node = addnodes.pending_xref(
'Unstable API', refdomain="std",