Skip to content
Snippets Groups Projects
Commit 013486f5 authored by Moul's avatar Moul
Browse files

Fix API.request_url() with Py3.13 (#208)

Since Python 3.13, the IOBase finalizer now logs
any errors raised by the close() method
https://docs.python.org/3/whatsnew/3.13.html#io

According to
https://docs.python.org/3.13/library/io.html#io.IOBase.close
if the file (descriptor) is accessed after being close,
`ValueError` is raised.

The `fd` is copied with `copy.copy()`.
Both gets automatically closed once the function ends,
the second can’t close a second time the same fd,
that’s why we get this error.

Reorganise complex function: don’t use `with` since the function
is designed to allow returning the fd
Drop `copy.copy()` used previously to return the fd, causing the issue
Read once the content.
Cleanly separate three return types and function’s returns
parent 58540690
No related branches found
No related tags found
No related merge requests found
Pipeline #38527 passed