Skip to content

Commit 2c1c532

Browse files
committed
update to python 3.12.10
1 parent 59afee6 commit 2c1c532

File tree

118 files changed

+13182
-17993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+13182
-17993
lines changed

.github/workflows/CI_build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ jobs:
4343
if: matrix.build_configuration == 'Release'
4444
working-directory: installer
4545
run: |
46-
$env:PYTHONBUILDDIR_X64='${{ github.workspace }}\packages\python.3.12.9\tools'
47-
$env:PYTHONBUILDDIR='${{ github.workspace }}\packages\pythonx86.3.12.9\tools'
46+
$env:PYTHONBUILDDIR_X64='${{ github.workspace }}\packages\python.3.12.10\tools'
47+
$env:PYTHONBUILDDIR='${{ github.workspace }}\packages\pythonx86.3.12.10\tools'
4848
Rename-Item -Path ".\buildPaths.bat.orig" -NewName "buildPaths.bat"
4949
dotnet tool install --global wix
5050
.\buildAll.bat ${{ matrix.build_platform }}

PythonLib/full/_pydatetime.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@ def _parse_hh_mm_ss_ff(tstr):
402402
raise ValueError("Invalid microsecond component")
403403
else:
404404
pos += 1
405+
if not all(map(_is_ascii_digit, tstr[pos:])):
406+
raise ValueError("Non-digit values in fraction")
405407

406408
len_remainder = len_str - pos
407409

@@ -413,9 +415,6 @@ def _parse_hh_mm_ss_ff(tstr):
413415
time_comps[3] = int(tstr[pos:(pos+to_parse)])
414416
if to_parse < 6:
415417
time_comps[3] *= _FRACTION_CORRECTION[to_parse-1]
416-
if (len_remainder > to_parse
417-
and not all(map(_is_ascii_digit, tstr[(pos+to_parse):]))):
418-
raise ValueError("Non-digit values in unparsed fraction")
419418

420419
return time_comps
421420

PythonLib/full/asyncio/base_events.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1264,8 +1264,8 @@ async def _sendfile_fallback(self, transp, file, offset, count):
12641264
read = await self.run_in_executor(None, file.readinto, view)
12651265
if not read:
12661266
return total_sent # EOF
1267-
await proto.drain()
12681267
transp.write(view[:read])
1268+
await proto.drain()
12691269
total_sent += read
12701270
finally:
12711271
if total_sent > 0 and hasattr(file, 'seek'):

PythonLib/full/collections/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ class Counter(dict):
588588
# References:
589589
# http://en.wikipedia.org/wiki/Multiset
590590
# http://www.gnu.org/software/smalltalk/manual-base/html_node/Bag.html
591-
# http://www.demo2s.com/Tutorial/Cpp/0380__set-multiset/Catalog0380__set-multiset.htm
591+
# http://www.java2s.com/Tutorial/Cpp/0380__set-multiset/Catalog0380__set-multiset.htm
592592
# http://code.activestate.com/recipes/259174/
593593
# Knuth, TAOCP Vol. II section 4.6.3
594594

PythonLib/full/difflib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1628,7 +1628,7 @@ def _line_pair_iterator():
16281628
</html>"""
16291629

16301630
_styles = """
1631-
table.diff {font-family:Courier; border:medium;}
1631+
table.diff {font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; border:medium}
16321632
.diff_header {background-color:#e0e0e0}
16331633
td.diff_header {text-align:right}
16341634
.diff_next {background-color:#c0c0c0}

PythonLib/full/email/_header_value_parser.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,7 +1053,7 @@ def get_fws(value):
10531053
fws = WhiteSpaceTerminal(value[:len(value)-len(newvalue)], 'fws')
10541054
return fws, newvalue
10551055

1056-
def get_encoded_word(value):
1056+
def get_encoded_word(value, terminal_type='vtext'):
10571057
""" encoded-word = "=?" charset "?" encoding "?" encoded-text "?="
10581058
10591059
"""
@@ -1092,7 +1092,7 @@ def get_encoded_word(value):
10921092
ew.append(token)
10931093
continue
10941094
chars, *remainder = _wsp_splitter(text, 1)
1095-
vtext = ValueTerminal(chars, 'vtext')
1095+
vtext = ValueTerminal(chars, terminal_type)
10961096
_validate_xtext(vtext)
10971097
ew.append(vtext)
10981098
text = ''.join(remainder)
@@ -1134,7 +1134,7 @@ def get_unstructured(value):
11341134
valid_ew = True
11351135
if value.startswith('=?'):
11361136
try:
1137-
token, value = get_encoded_word(value)
1137+
token, value = get_encoded_word(value, 'utext')
11381138
except _InvalidEwError:
11391139
valid_ew = False
11401140
except errors.HeaderParseError:
@@ -1163,7 +1163,7 @@ def get_unstructured(value):
11631163
# the parser to go in an infinite loop.
11641164
if valid_ew and rfc2047_matcher.search(tok):
11651165
tok, *remainder = value.partition('=?')
1166-
vtext = ValueTerminal(tok, 'vtext')
1166+
vtext = ValueTerminal(tok, 'utext')
11671167
_validate_xtext(vtext)
11681168
unstructured.append(vtext)
11691169
value = ''.join(remainder)
@@ -2813,7 +2813,7 @@ def _refold_parse_tree(parse_tree, *, policy):
28132813
continue
28142814
tstr = str(part)
28152815
if not want_encoding:
2816-
if part.token_type == 'ptext':
2816+
if part.token_type in ('ptext', 'vtext'):
28172817
# Encode if tstr contains special characters.
28182818
want_encoding = not SPECIALSNL.isdisjoint(tstr)
28192819
else:

PythonLib/full/ensurepip/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
__all__ = ["version", "bootstrap"]
1212
_PACKAGE_NAMES = ('pip',)
13-
_PIP_VERSION = "24.3.1"
13+
_PIP_VERSION = "25.0.1"
1414
_PROJECTS = [
1515
("pip", _PIP_VERSION, "py3"),
1616
]

PythonLib/full/ensurepip/_bundled/pip-24.3.1-py3-none-any.whl renamed to PythonLib/full/ensurepip/_bundled/pip-25.0.1-py3-none-any.whl

1.74 MB
Binary file not shown.

PythonLib/full/enum.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -771,10 +771,15 @@ def __contains__(cls, value):
771771
`value` is in `cls` if:
772772
1) `value` is a member of `cls`, or
773773
2) `value` is the value of one of the `cls`'s members.
774+
3) `value` is a pseudo-member (flags)
774775
"""
775776
if isinstance(value, cls):
776777
return True
777-
return value in cls._value2member_map_ or value in cls._unhashable_values_
778+
try:
779+
cls(value)
780+
return True
781+
except ValueError:
782+
return value in cls._unhashable_values_
778783

779784
def __delattr__(cls, attr):
780785
# nicer error message when someone tries to delete an attribute

PythonLib/full/graphlib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def done(self, *nodes):
154154
This method unblocks any successor of each node in *nodes* for being returned
155155
in the future by a call to "get_ready".
156156
157-
Raises :exec:`ValueError` if any node in *nodes* has already been marked as
157+
Raises ValueError if any node in *nodes* has already been marked as
158158
processed by a previous call to this method, if a node was not added to the
159159
graph by using "add" or if called without calling "prepare" previously or if
160160
node has not yet been returned by "get_ready".

0 commit comments

Comments
 (0)