Enable automatic formatting for `sphinx/domains/changeset.py`

This commit is contained in:
Adam Turner 2024-12-31 01:33:43 +00:00
parent 8333f040e1
commit 4da48f5198
2 changed files with 34 additions and 19 deletions

View File

@ -394,7 +394,6 @@ preview = true
quote-style = "single" quote-style = "single"
exclude = [ exclude = [
"sphinx/builders/latex/constants.py", "sphinx/builders/latex/constants.py",
"sphinx/domains/changeset.py",
"sphinx/domains/index.py", "sphinx/domains/index.py",
"sphinx/domains/javascript.py", "sphinx/domains/javascript.py",
"sphinx/domains/math.py", "sphinx/domains/math.py",

View File

@ -22,17 +22,17 @@ if TYPE_CHECKING:
versionlabels = { versionlabels = {
'versionadded': _('Added in version %s'), 'versionadded': _('Added in version %s'),
'versionchanged': _('Changed in version %s'), 'versionchanged': _('Changed in version %s'),
'deprecated': _('Deprecated since version %s'), 'deprecated': _('Deprecated since version %s'),
'versionremoved': _('Removed in version %s'), 'versionremoved': _('Removed in version %s'),
} }
versionlabel_classes = { versionlabel_classes = {
'versionadded': 'added', 'versionadded': 'added',
'versionchanged': 'changed', 'versionchanged': 'changed',
'deprecated': 'deprecated', 'deprecated': 'deprecated',
'versionremoved': 'removed', 'versionremoved': 'removed',
} }
@ -64,7 +64,9 @@ class VersionChange(SphinxDirective):
node['version'] = self.arguments[0] node['version'] = self.arguments[0]
text = versionlabels[self.name] % self.arguments[0] text = versionlabels[self.name] % self.arguments[0]
if len(self.arguments) == 2: if len(self.arguments) == 2:
inodes, messages = self.parse_inline(self.arguments[1], lineno=self.lineno + 1) inodes, messages = self.parse_inline(
self.arguments[1], lineno=self.lineno + 1
)
para = nodes.paragraph(self.arguments[1], '', *inodes, translatable=False) para = nodes.paragraph(self.arguments[1], '', *inodes, translatable=False)
self.set_source_info(para) self.set_source_info(para)
node.append(para) node.append(para)
@ -81,21 +83,29 @@ class VersionChange(SphinxDirective):
content.source = node[0].source content.source = node[0].source
content.line = node[0].line content.line = node[0].line
content += node[0].children content += node[0].children
node[0].replace_self(nodes.paragraph('', '', content, translatable=False)) node[0].replace_self(
nodes.paragraph('', '', content, translatable=False)
)
para = node[0] para = node[0]
para.insert(0, nodes.inline('', '%s: ' % text, classes=classes)) para.insert(0, nodes.inline('', '%s: ' % text, classes=classes))
elif len(node) > 0: elif len(node) > 0:
# the contents do not starts with a paragraph # the contents do not starts with a paragraph
para = nodes.paragraph('', '', para = nodes.paragraph(
nodes.inline('', '%s: ' % text, classes=classes), '',
translatable=False) '',
nodes.inline('', '%s: ' % text, classes=classes),
translatable=False,
)
node.insert(0, para) node.insert(0, para)
else: else:
# the contents are empty # the contents are empty
para = nodes.paragraph('', '', para = nodes.paragraph(
nodes.inline('', '%s.' % text, classes=classes), '',
translatable=False) '',
nodes.inline('', '%s.' % text, classes=classes),
translatable=False,
)
node.append(para) node.append(para)
domain = self.env.domains.changeset_domain domain = self.env.domains.changeset_domain
@ -113,7 +123,7 @@ class ChangeSetDomain(Domain):
label = 'changeset' label = 'changeset'
initial_data: dict[str, dict[str, list[ChangeSet]]] = { initial_data: dict[str, dict[str, list[ChangeSet]]] = {
'changes': {}, # version -> list of ChangeSet 'changes': {}, # version -> list of ChangeSet
} }
@property @property
@ -124,8 +134,14 @@ class ChangeSetDomain(Domain):
version = node['version'] version = node['version']
module = self.env.ref_context.get('py:module') module = self.env.ref_context.get('py:module')
objname = self.env.temp_data.get('object', '') objname = self.env.temp_data.get('object', '')
changeset = ChangeSet(node['type'], self.env.docname, node.line, # type: ignore[arg-type] changeset = ChangeSet(
module, objname, node.astext()) node['type'],
self.env.docname,
node.line, # type: ignore[arg-type]
module,
objname,
node.astext(),
)
self.changesets.setdefault(version, []).append(changeset) self.changesets.setdefault(version, []).append(changeset)
def clear_doc(self, docname: str) -> None: def clear_doc(self, docname: str) -> None:
@ -143,7 +159,7 @@ class ChangeSetDomain(Domain):
changes.append(changeset) changes.append(changeset)
def process_doc( def process_doc(
self, env: BuildEnvironment, docname: str, document: nodes.document, self, env: BuildEnvironment, docname: str, document: nodes.document
) -> None: ) -> None:
pass # nothing to do here. All changesets are registered on calling directive. pass # nothing to do here. All changesets are registered on calling directive.