Skip to content

Commit afd60d5

Browse files
authored
Merge branch 'main' into issue-134082-argparse
2 parents a750e75 + b5febf7 commit afd60d5

File tree

2 files changed

+15
-25
lines changed

2 files changed

+15
-25
lines changed

Doc/library/asyncio-dev.rst

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@ In addition to enabling the debug mode, consider also:
4646

4747
When the debug mode is enabled:
4848

49-
* asyncio checks for :ref:`coroutines that were not awaited
50-
<asyncio-coroutine-not-scheduled>` and logs them; this mitigates
51-
the "forgotten await" pitfall.
52-
5349
* Many non-threadsafe asyncio APIs (such as :meth:`loop.call_soon` and
5450
:meth:`loop.call_at` methods) raise an exception if they are called
5551
from a wrong thread.

Lib/string/__init__.py

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -264,22 +264,18 @@ def _vformat(self, format_string, args, kwargs, used_args, recursion_depth,
264264

265265
return ''.join(result), auto_arg_index
266266

267-
268267
def get_value(self, key, args, kwargs):
269268
if isinstance(key, int):
270269
return args[key]
271270
else:
272271
return kwargs[key]
273272

274-
275273
def check_unused_args(self, used_args, args, kwargs):
276274
pass
277275

278-
279276
def format_field(self, value, format_spec):
280277
return format(value, format_spec)
281278

282-
283279
def convert_field(self, value, conversion):
284280
# do any conversion on the resulting object
285281
if conversion is None:
@@ -292,34 +288,32 @@ def convert_field(self, value, conversion):
292288
return ascii(value)
293289
raise ValueError("Unknown conversion specifier {0!s}".format(conversion))
294290

295-
296-
# returns an iterable that contains tuples of the form:
297-
# (literal_text, field_name, format_spec, conversion)
298-
# literal_text can be zero length
299-
# field_name can be None, in which case there's no
300-
# object to format and output
301-
# if field_name is not None, it is looked up, formatted
302-
# with format_spec and conversion and then used
303291
def parse(self, format_string):
304-
return _string.formatter_parser(format_string)
292+
"""
293+
Return an iterable that contains tuples of the form
294+
(literal_text, field_name, format_spec, conversion).
305295
306296
307-
# given a field_name, find the object it references.
308-
# field_name: the field being looked up, e.g. "0.name"
309-
# or "lookup[3]"
310-
# used_args: a set of which args have been used
311-
# args, kwargs: as passed in to vformat
297+
*field_name* can be None, in which case there's no object
298+
to format and output; otherwise, it is looked up and
299+
formatted with *format_spec* and *conversion*.
300+
"""
301+
return _string.formatter_parser(format_string)
302+
312303
def get_field(self, field_name, args, kwargs):
313-
first, rest = _string.formatter_field_name_split(field_name)
304+
"""Find the object referenced by a given field name.
314305
306+
The field name *field_name* can be for instance "0.name"
307+
or "lookup[3]". The *args* and *kwargs* arguments are
308+
passed to get_value().
309+
"""
310+
first, rest = _string.formatter_field_name_split(field_name)
315311
obj = self.get_value(first, args, kwargs)
316-
317312
# loop through the rest of the field_name, doing
318313
# getattr or getitem as needed
319314
for is_attr, i in rest:
320315
if is_attr:
321316
obj = getattr(obj, i)
322317
else:
323318
obj = obj[i]
324-
325319
return obj, first

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy