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 @@ 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 = 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 @@ def add_annotations(self, app, doctree):
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",

View file

@ -9,14 +9,14 @@
In extensions/c_annotations.py:
{% trans %} Part of the {% endtrans %}
{% trans %}Part of the{% endtrans %}
{% trans %}Limited API{% endtrans %}
{% trans %}Stable ABI{% endtrans %}
{% trans %} (as an opaque struct){% endtrans %}
{% trans %} (including all members){% endtrans %}
{% trans %} since version %s{% endtrans %}
{% trans %} (Only some members are part of the stable ABI.){% endtrans %}
{% trans %}This is {% endtrans %}
{% trans %}(as an opaque struct){% endtrans %}
{% trans %}(including all members){% endtrans %}
{% trans %}since version %s{% endtrans %}
{% trans %}(Only some members are part of the stable ABI.){% endtrans %}
{% trans %}This is{% endtrans %}
{% trans %}Unstable API{% endtrans %}
{% trans %}. It may change without warning in minor releases.{% endtrans %}
{% trans %}Return value: Always NULL.{% endtrans %}

View file

@ -31,6 +31,7 @@ Farhan Ahmad
Matthew Ahrens
Nir Aides
Akira
Ege Akman
Yaniv Aknin
Jyrki Alakuijala
Tatiana Al-Chueyr