| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Co-authored-by: Éric <merwok@netwok.org>
|
@serhiy-storchaka, since this is 3.12+, would it be possible to use inspect.signature() instead of relying on a new attribute on the function (supports_root_dir)? Pure Python functions, as well as Cython functions, work fine with inspect.signature(). |
Sorry, something went wrong.
|
I do not like relying on inspect. It fails in too many cases. What if the function signature contains **kwargs? inspect looks to me rather as an inspecting and debugging tool. |
Sorry, something went wrong.
|
Setting a magic attribute on a function is always an awkward API. Why not just add a keyword only argument to the register_*_format() function to declare whether the supplied archiver callable supports a root_dir kwarg or not? |
Sorry, something went wrong.
…hon#96454) Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
…nGH-93031) Use output from a 3.10+ REPL, showing invalid range, for the SyntaxError examples in the tutorial introduction page. Automerge-Triggered-By: GH:iritkatriel
…97645) Fix the Python path configuration used to initialized sys.path at Python startup. Paths are no longer encoded to UTF-8/strict to avoid encoding errors if it contains surrogate characters (bytes paths are decoded with the surrogateescape error handler). getpath_basename() and getpath_dirname() functions no longer encode the path to UTF-8/strict, but work directly on Unicode strings. These functions now use PyUnicode_FindChar() and PyUnicode_Substring() on the Unicode path, rather than strrchr() on the encoded bytes string.
bpo-35598: IDLE: Refactor window and frame class Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
…n#97685) This documents the behavior that has always been the case since timeout support was introduced in Python 3.3.
…n#96837) * When chaining futures, skip callback if loop closed. * When shutting down an executor, don't wake a closed loop.
…ython#97660) Evil code could cause fut_callbacks to be cleared when PyObject_RichCompareBool is called.
…ncancel() (python#95253) Co-authored-by: Thomas Grainger <tagrain@gmail.com>
…ython#95919) It was never really safe and this claim conflicts directly with the big warning in the docs about it being able to crash the interpreter.
…es before calling `tp_hash` slot (python#97700)
…tions (python#95976) * pythongh-95975: Move except/*/finally ref labels to more precise locations * Add section headers to fix :keyword: role and aid navigation * Move see also to the introduction rather than a particular subsection * Fix other minor Sphinx syntax issues with except Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com> * Suppress redundant link to same section for except too * Don't link try/except/else/finally keywords if in the same section * Format try/except/finally as keywords in modified sections Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
I considered this option. But it would make the caller of shutil.register_archive_format() responsible for passing the necessary option. For example, if py7zr add support for root_dir, the users of py7zr will need to replace shutil.register_archive_format('7zip', pack_7zarchive, description='7zip archive') in their code with shutil.register_archive_format('7zip', pack_7zarchive, description='7zip archive', supports_root_dir=True). Since it will only works on Python 3.12+, the code will be more complicated. Users which will not do this, will still have the working code, but it is not safe. In future we can deprecate archivers which does not support root_dir. And finally raise an error if shutil.register_archive_format() is called without supports_root_dir=True. Since that this option will became useless but mandatory, and several versions later we could deprecate and finally remove it. Thus, users will be first forced to add this option (first conditionally, then unconditionally), them remove it. And users which skip versions will risk to get incorrectly working program (using an archiver which does not support root_dir with the root_dir argument). This all will take very long time until we came to new equilibrium, will cause headache to users, and will be errorprone. With the variant implemented in this PR, the author of the archiver is responsible for setting the supports_root_dir attribute if the archiver supports the root_dir argument. The user's code will not change. |
Sorry, something went wrong.
There was a problem hiding this comment.
Just two doc nits, entirely optional.
Sorry, something went wrong.
Co-authored-by: Éric <merwok@netwok.org>
There was a problem hiding this comment.
Excellent. @serhiy-storchaka feel free to land!
Sorry, something went wrong.
|
Thank you for your review and suggestions. |
Sorry, something went wrong.
* main: (66 commits) pythongh-65961: Raise `DeprecationWarning` when `__package__` differs from `__spec__.parent` (python#97879) docs(typing): add "see PEP 675" to LiteralString (python#97926) pythongh-97850: Remove all known instances of module_repr() (python#97876) I changed my surname early this year (python#96671) pythongh-93738: Documentation C syntax (:c:type:<C type> -> :c:expr:<C type>) (python#97768) pythongh-91539: improve performance of get_proxies_environment (python#91566) build(deps): bump actions/stale from 5 to 6 (python#97701) pythonGH-95172 Make the same version `versionadded` oneline (python#95172) pythongh-88050: Fix asyncio subprocess to kill process cleanly when process is blocked (python#32073) pythongh-93738: Documentation C syntax (Function glob patterns -> literal markup) (python#97774) pythongh-93357: Port test cases to IsolatedAsyncioTestCase, part 2 (python#97896) pythongh-95196: Disable incorrect pickling of the C implemented classmethod descriptors (pythonGH-96383) pythongh-97758: Fix a crash in getpath_joinpath() called without arguments (pythonGH-97759) pythongh-74696: Pass root_dir to custom archivers which support it (pythonGH-94251) pythongh-97661: Improve accuracy of sqlite3.Cursor.fetchone docs (python#97662) pythongh-87092: bring compiler code closer to a preprocessing-opt-assembler organisation (pythonGH-97644) pythonGH-96704: Add {Task,Handle}.get_context(), use it in call_exception_handler() (python#96756) pythongh-93738: Documentation C syntax (:c:type:`PyTypeObject*` -> :c:expr:`PyTypeObject*`) (python#97778) pythongh-97825: fix AttributeError when calling subprocess.check_output(input=None) with encoding or errors args (python#97826) Add re.VERBOSE flag documentation example (python#97678) ...
…ythonGH-94251) Co-authored-by: Éric <merwok@netwok.org>
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.