gh-99576: Fix cookiejar file that was not truncated for some classes by sobolevn · Pull Request #99616 · python/cpython (original) (raw)

This introduces a new decorator @inspect.markcoroutinefunction, which, applied to a sync function, makes it appear async to inspect.iscoroutinefunction().

Use a stack to implement os.walk iteratively instead of recursively to avoid hitting recursion limits on deeply nested trees.

Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Christian Heimes christian@python.org Co-authored-by: Hugo van Kemenade hugovk@users.noreply.github.com Fixes python#89051

Co-authored-by: Łukasz Langa lukasz@langa.pl

Don't specialize if the index is negative.

Co-authored-by: C.A.M. Gerlach CAM.Gerlach@Gerlach.CAM

Co-authored-by: Pieter Eendebak P.T.eendebak@tudelft.nl Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com

This makes a couple related changes to inspect.signature's behaviour when parsing a signature from __text_signature__.

First, inspect.signature is documented as only raising ValueError or TypeError. However, in some cases, we could raise RuntimeError. This PR changes that, thereby fixing python#83685.

(Note that the new ValueErrors in RewriteSymbolics are caught and then reraised with a message)

Second, inspect.signature could randomly drop parameters that it didn't understand (corresponding to return None in the p function). This is the core issue in python#85267. I think this is very surprising behaviour and it seems better to fail outright.

Third, adding this new failure broke a couple tests. To fix them (and to e.g. allow inspect.signature(select.epoll.register) as in python#85267), I add constant folding of a couple binary operations to RewriteSymbolics.

(There's some discussion of making signature expression evaluation arbitrary powerful in python#68155. I think that's out of scope. The additional constant folding here is pretty straightforward, useful, and not much of a slippery slope)

Fourth, while python#85267 is incorrect about the cause of the issue, it turns out if you had consecutive newlines in text_signature, you'd get tokenize.TokenError.

Finally, the if name is invalid: code path was dead, since parse_name never returned invalid.

Co-authored-by: Kumar Aditya 59607654+kumaraditya303@users.noreply.github.com

In the docstring of ParamSpec, the name of P = ParamSpec('P') was mistakenly written as 'T'.

Co-authored-by: pranavtbhat

Automerge-Triggered-By: GH:brandtbucher

Mentioned as a desired change by terryjreedy on the corresponding issue, since Tk is not a subclass of Toplevel.

The itemsize returned in a memoryview of a ctypes array is now computed from the item type, instead of dividing the total size by the length and assuming that the length is not zero.

This reverts commit c3c7848.

Signed-off-by: Filipe Laíns lains@archlinux.org Signed-off-by: Filipe Laíns lains@riseup.net Co-authored-by: Irit Katriel 1055913+iritkatriel@users.noreply.github.com Co-authored-by: Shantanu 12621235+hauntsaninja@users.noreply.github.com

Users may wish to define subclasses of pathlib.Path to add or modify existing methods. Before this change, attempting to instantiate a subclass raised an exception like:

AttributeError: type object 'PPath' has no attribute '_flavour'

Previously the _flavour attribute was assigned as follows:

PurePath._flavour        = xxx not set!! xxx
PurePosixPath._flavour   = _PosixFlavour()
PureWindowsPath._flavour = _WindowsFlavour()

This change replaces it with a _pathmod attribute, set as follows:

PurePath._pathmod        = os.path
PurePosixPath._pathmod   = posixpath
PureWindowsPath._pathmod = ntpath

Functionality from _PosixFlavour and _WindowsFlavour is moved into PurePath as underscored-prefixed classmethods. Flavours are removed.

Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com Co-authored-by: Brett Cannon brett@python.org Co-authored-by: Adam Turner 9087854+AA-Turner@users.noreply.github.com Co-authored-by: Eryk Sun eryksun@gmail.com

This improves the lives of type annotation users of float - which type checkers implicitly treat as int|float because that is what most code actually wants. Before this change a .is_integer() method could not be assumed to exist on things annotated as : float due to the method not existing on both types.

Co-authored-by: Shantanu 12621235+hauntsaninja@users.noreply.github.com

Co-authored-by: Guido van Rossum gvanrossum@gmail.com

Co-authored-by: Guido van Rossum gvanrossum@gmail.com

Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com

If you had a directory called index.html or index.htm within a directory, it would cause http.server to return a 404 Not Found error instead of the directory listing. This came about due to not checking that the index was a regular file.

I have also added a test case for this situation.

Automerge-Triggered-By: GH:merwok

Previously, the grammar did not accept float("10"). Also implement mdickinson's suggestion of removing the indirection.

Minor formatting fix in documentation

Co-authored-by: Shantanu 12621235+hauntsaninja@users.noreply.github.com

IPV4_RE includes a ., and the .find(".") == -1 included here is already testing to make sure there's no dot, so this part of the expression is tautological. Instead use more modern in syntax to make it clear what the check is doing here. The simplified implementation more clearly matches the wording in RFC 2965.

Co-authored-by: hauntsaninja hauntsaninja@gmail.com

Based on the definition of the collections.abc classes, it is more accurate to use "sequence" instead of "container" when describing argparse choices.

A previous attempt at fixing this in python#92450 was mistaken; this PR reverts that change.

Co-authored-by: Shantanu 12621235+hauntsaninja@users.noreply.github.com

Signed-off-by: Filipe Laíns lains@archlinux.org Signed-off-by: Filipe Laíns lains@riseup.net Co-authored-by: Jeremy Paige ucodery@gmail.com Co-authored-by: Carlton Gibson carlton@noumenal.es Co-authored-by: Hugo van Kemenade hugovk@users.noreply.github.com Co-authored-by: Jon Burdo jon@jonburdo.com Co-authored-by: Stanley 46876382+slateny@users.noreply.github.com Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com Co-authored-by: Thomas Grainger tagrain@gmail.com Co-authored-by: Brad Wolfe brad.wolfe@gmail.com Co-authored-by: Richard Kojedzinszky rkojedzinszky@users.noreply.github.com Co-authored-by: František Nesveda fnesveda@users.noreply.github.com Co-authored-by: Pablo Galindo Salgado Pablogsal@gmail.com Co-authored-by: Nikita Sobolev mail@sobolevn.me Co-authored-by: Łukasz Langa lukasz@langa.pl Co-authored-by: Dennis Sweeney 36520290+sweeneyde@users.noreply.github.com Co-authored-by: Bisola Olasehinde horlasehinde@gmail.com Co-authored-by: C.A.M. Gerlach CAM.Gerlach@Gerlach.CAM Co-authored-by: Pieter Eendebak P.T.eendebak@tudelft.nl Co-authored-by: Shantanu 12621235+hauntsaninja@users.noreply.github.com Co-authored-by: Kumar Aditya 59607654+kumaraditya303@users.noreply.github.com Co-authored-by: Dominic Socular BBH@awsl.rip Co-authored-by: Serhiy Storchaka storchaka@gmail.com Co-authored-by: Hai Shi shihai1992@gmail.com Co-authored-by: amaajemyfren 32741226+amaajemyfren@users.noreply.github.com Co-authored-by: Brandt Bucher brandtbucher@microsoft.com Co-authored-by: david-why david_why@outlook.com Co-authored-by: Pieter Eendebak pieter.eendebak@gmail.com Co-authored-by: penguin_wwy 940375606@qq.com Co-authored-by: Eli Schwartz eschwartz93@gmail.com Co-authored-by: Itamar Ostricher itamarost@gmail.com Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com Co-authored-by: Eric Wieser wieser.eric@gmail.com Co-authored-by: Irit Katriel 1055913+iritkatriel@users.noreply.github.com Co-authored-by: Bill Fisher william.w.fisher@gmail.com Co-authored-by: Petr Viktorin encukou@gmail.com Co-authored-by: Ken Jin kenjin@python.org Co-authored-by: Carl Meyer carl@oddbird.net Co-authored-by: Filipe Laíns lains@riseup.net Co-authored-by: Raymond Hettinger rhettinger@users.noreply.github.com Co-authored-by: Barney Gale barney.gale@gmail.com Co-authored-by: Brett Cannon brett@python.org Co-authored-by: Adam Turner 9087854+AA-Turner@users.noreply.github.com Co-authored-by: Eryk Sun eryksun@gmail.com Co-authored-by: Sebastian Berg sebastianb@nvidia.com Co-authored-by: Illia Volochii illia.volochii@gmail.com Co-authored-by: JosephSBoyle 48555120+JosephSBoyle@users.noreply.github.com Co-authored-by: James Frost git@frost.cx Co-authored-by: MonadChains monadchains@gmail.com Co-authored-by: Bart Broere mail@bartbroere.eu Co-authored-by: Glyph code@glyph.im Co-authored-by: hauntsaninja hauntsaninja@gmail.com Co-authored-by: Ilya Kulakov kulakov.ilya@gmail.com Co-authored-by: Guy Yagev yourlefthandman8@gmail.com Co-authored-by: Jakub Kuczys me@jacken.men