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"
exclude = [
"sphinx/builders/latex/constants.py",
"sphinx/domains/changeset.py",
"sphinx/domains/index.py",
"sphinx/domains/javascript.py",
"sphinx/domains/math.py",

View File

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