Skip to content

Commit 55f3089

Browse files
committed
Improve uses of str.join with a throwaway list
1 parent 1b39b20 commit 55f3089

File tree

18 files changed

+41
-39
lines changed

18 files changed

+41
-39
lines changed

sphinx/domains/cpp.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1803,7 +1803,7 @@ def get_id(self, version: int) -> str:
18031803
return 'cv' + self.type.get_id(version)
18041804

18051805
def _stringify(self, transform: StringifyTransform) -> str:
1806-
return ''.join(['operator ', transform(self.type)])
1806+
return f'operator {transform(self.type)}'
18071807

18081808
def get_name_no_template(self) -> str:
18091809
return str(self)
@@ -8218,7 +8218,7 @@ def get_full_qualified_name(self, node: Element) -> str | None:
82188218
rootSymbol = self.data['root_symbol']
82198219
parentSymbol = rootSymbol.direct_lookup(parentKey)
82208220
parentName = parentSymbol.get_full_nested_name()
8221-
return '::'.join([str(parentName), target])
8221+
return f'{parentName}::{target}'
82228222

82238223

82248224
def setup(app: Sphinx) -> dict[str, Any]:

sphinx/domains/javascript.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,12 @@ def handle_signature(self, sig: str, signode: desc_signature) -> tuple[str, str]
8989
finally:
9090
name = member_name
9191
if prefix and member_prefix:
92-
prefix = '.'.join([prefix, member_prefix])
92+
prefix = f'{prefix}.{member_prefix}'
9393
elif prefix is None and member_prefix:
9494
prefix = member_prefix
9595
fullname = name
9696
if prefix:
97-
fullname = '.'.join([prefix, name])
97+
fullname = f'{prefix}.{name}'
9898

9999
signode['module'] = mod_name
100100
signode['object'] = prefix
@@ -443,11 +443,11 @@ def find_obj(
443443

444444
searches = []
445445
if mod_name and prefix:
446-
searches.append('.'.join([mod_name, prefix, name]))
446+
searches.append(f'{mod_name}.{prefix}.{name}')
447447
if mod_name:
448-
searches.append('.'.join([mod_name, name]))
448+
searches.append(f'{mod_name}.{name}')
449449
if prefix:
450-
searches.append('.'.join([prefix, name]))
450+
searches.append(f'{prefix}.{name}')
451451
searches.append(name)
452452

453453
if searchorder == 0:

sphinx/domains/python.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,7 +1111,7 @@ def get_index_text(self, modname: str, name_cls: tuple[str, str]) -> str:
11111111
try:
11121112
clsname, methname = name.rsplit('.', 1)
11131113
if modname and self.env.config.add_module_names:
1114-
clsname = '.'.join([modname, clsname])
1114+
clsname = f'{modname}.{clsname}'
11151115
except ValueError:
11161116
if modname:
11171117
return _('%s() (in module %s)') % (name, modname)
@@ -1201,7 +1201,7 @@ def get_index_text(self, modname: str, name_cls: tuple[str, str]) -> str:
12011201
try:
12021202
clsname, attrname = name.rsplit('.', 1)
12031203
if modname and self.env.config.add_module_names:
1204-
clsname = '.'.join([modname, clsname])
1204+
clsname = f'{modname}.{clsname}'
12051205
except ValueError:
12061206
if modname:
12071207
return _('%s (in module %s)') % (name, modname)
@@ -1252,7 +1252,7 @@ def get_index_text(self, modname: str, name_cls: tuple[str, str]) -> str:
12521252
try:
12531253
clsname, attrname = name.rsplit('.', 1)
12541254
if modname and self.env.config.add_module_names:
1255-
clsname = '.'.join([modname, clsname])
1255+
clsname = f'{modname}.{clsname}'
12561256
except ValueError:
12571257
if modname:
12581258
return _('%s (in module %s)') % (name, modname)

sphinx/domains/rst.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ def add_target_and_index(self, name: str, sig: str, signode: desc_signature) ->
168168

169169
directive_name = self.current_directive
170170
if directive_name:
171-
prefix = '-'.join([self.objtype, directive_name])
172-
objname = ':'.join([directive_name, name])
171+
prefix = f'{self.objtype}-{directive_name}'
172+
objname = f'{directive_name}:{name}'
173173
else:
174174
prefix = self.objtype
175175
objname = name

sphinx/domains/std.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ def add_target_and_index(self, firstname: str, sig: str, signode: desc_signature
229229
else:
230230
descr = _('command line option')
231231
for option in signode.get('allnames', []):
232-
entry = '; '.join([descr, option])
232+
entry = f'{descr}; {option}'
233233
self.indexnode['entries'].append(('pair', entry, signode['ids'][0], '', None))
234234

235235

@@ -1002,7 +1002,7 @@ def get_objects(self) -> Iterator[tuple[str, str, str, str, str, int]]:
10021002
yield (doc, clean_astext(self.env.titles[doc]), 'doc', doc, '', -1)
10031003
for (prog, option), info in self.progoptions.items():
10041004
if prog:
1005-
fullname = ".".join([prog, option])
1005+
fullname = f'{prog}.{option}'
10061006
yield (fullname, fullname, 'cmdoption', info[0], info[1], 1)
10071007
else:
10081008
yield (option, option, 'cmdoption', info[0], info[1], 1)
@@ -1091,7 +1091,8 @@ def get_full_qualified_name(self, node: Element) -> str | None:
10911091
command.insert(0, progname)
10921092
option = command.pop()
10931093
if command:
1094-
return '.'.join(['-'.join(command), option])
1094+
command_str = '-'.join(command)
1095+
return f'{command_str}.{option}'
10951096
else:
10961097
return None
10971098
else:

sphinx/ext/autodoc/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1266,7 +1266,7 @@ def format_signature(self, **kwargs: Any) -> str:
12661266
self.args, self.retann = result
12671267
sig = super().format_signature(**kwargs) # type: ignore[misc]
12681268
if self._signatures:
1269-
return "\n".join([sig] + self._signatures)
1269+
return "\n".join((sig, *self._signatures))
12701270
else:
12711271
return sig
12721272

@@ -1673,7 +1673,7 @@ def get_overloaded_signatures(self) -> list[Signature]:
16731673
try:
16741674
analyzer = ModuleAnalyzer.for_module(cls.__module__)
16751675
analyzer.analyze()
1676-
qualname = '.'.join([cls.__qualname__, self._signature_method_name])
1676+
qualname = f'{cls.__qualname__}.{self._signature_method_name}'
16771677
if qualname in analyzer.overloads:
16781678
return analyzer.overloads.get(qualname, [])
16791679
elif qualname in analyzer.tagorder:
@@ -1694,7 +1694,7 @@ def get_canonical_fullname(self) -> str | None:
16941694
__qualname__ = None
16951695

16961696
if __modname__ and __qualname__:
1697-
return '.'.join([__modname__, __qualname__])
1697+
return f'{__modname__}.{__qualname__}'
16981698
else:
16991699
return None
17001700

@@ -2477,7 +2477,7 @@ def is_runtime_instance_attribute_not_commented(self, parent: Any) -> bool:
24772477
analyzer = ModuleAnalyzer.for_module(module)
24782478
analyzer.analyze()
24792479
if qualname and self.objpath:
2480-
key = '.'.join([qualname, self.objpath[-1]])
2480+
key = f'{qualname}.{self.objpath[-1]}'
24812481
if key in analyzer.tagorder:
24822482
return True
24832483
except (AttributeError, PycodeError):

sphinx/ext/autodoc/directive.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,20 @@ def __init__(self, env: BuildEnvironment, reporter: Reporter | None, options: Op
5959
def process_documenter_options(documenter: type[Documenter], config: Config, options: dict,
6060
) -> Options:
6161
"""Recognize options of Documenter from user input."""
62+
default_options = config.autodoc_default_options
6263
for name in AUTODOC_DEFAULT_OPTIONS:
6364
if name not in documenter.option_spec:
6465
continue
6566
negated = options.pop('no-' + name, True) is None
66-
if name in config.autodoc_default_options and not negated:
67-
if name in options and isinstance(config.autodoc_default_options[name], str):
67+
if name in default_options and not negated:
68+
if name in options and isinstance(default_options[name], str):
6869
# take value from options if present or extend it
6970
# with autodoc_default_options if necessary
7071
if name in AUTODOC_EXTENDABLE_OPTIONS:
7172
if options[name] is not None and options[name].startswith('+'):
72-
options[name] = ','.join([config.autodoc_default_options[name],
73-
options[name][1:]])
73+
options[name] = f'{default_options[name]},{options[name][1:]}'
7474
else:
75-
options[name] = config.autodoc_default_options[name]
75+
options[name] = default_options[name]
7676

7777
elif options.get(name) is not None:
7878
# remove '+' from option argument if there's nothing to merge it with

sphinx/ext/autodoc/typehints.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def merge_typehints(app: Sphinx, domain: str, objtype: str, contentnode: Element
5050
try:
5151
signature = cast(addnodes.desc_signature, contentnode.parent[0])
5252
if signature['module']:
53-
fullname = '.'.join([signature['module'], signature['fullname']])
53+
fullname = f'{signature["module"]}.{signature["fullname"]}'
5454
else:
5555
fullname = signature['fullname']
5656
except KeyError:

sphinx/ext/autosummary/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ def import_by_name(
642642
for prefix in prefixes:
643643
try:
644644
if prefix:
645-
prefixed_name = '.'.join([prefix, name])
645+
prefixed_name = f'{prefix}.{name}'
646646
else:
647647
prefixed_name = name
648648
obj, parent, modname = _import_by_name(prefixed_name, grouped_exception=True)

sphinx/ext/doctest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def run(self) -> list[Node]:
125125
if self.name == 'doctest' and 'pyversion' in self.options:
126126
try:
127127
spec = self.options['pyversion']
128-
python_version = '.'.join([str(v) for v in sys.version_info[:3]])
128+
python_version = '.'.join(map(str, sys.version_info[:3]))
129129
if not is_allowed_version(spec, python_version):
130130
flag = doctest.OPTIONFLAGS_BY_NAME['SKIP']
131131
node['options'][flag] = True # Skip the test

0 commit comments

Comments
 (0)