You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When an image with a URL containing non-ASCII characters is dropped to BeeRef, BeeRef hangs and the following error is printed to the terminal:
INFO beeref.fileio: Loading image from file PyQt6.QtCore.QUrl('https://upload.wikimedia.org/wikipedia/commons/a/af/Holden-modified_WW_II_jeep_field-ambulance_for_the_Pacific_Theater–left–National_Archives_fig-11.jpg')
WARNING Qt: QFSFileEngine::open: No file name specified
CRITICAL __main__: Unhandled exception
Traceback (most recent call last):
File "beeref/fileio/__init__.py", line 100, in run
File "beeref/fileio/__init__.py", line 63, in load_images
File "beeref/fileio/image.py", line 89, in load_image
File "urllib/request.py", line 216, in urlopen
File "urllib/request.py", line 519, in open
File "urllib/request.py", line 536, in _open
File "urllib/request.py", line 496, in _call_chain
File "urllib/request.py", line 1391, in https_open
File "urllib/request.py", line 1348, in do_open
File "http/client.py", line 1283, in request
File "http/client.py", line 1294, in _send_request
File "http/client.py", line 1132, in putrequest
File "http/client.py", line 1212, in _encode_request
UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in position 94: ordinal not in range(128)
To Reproduce
I'm using BeeRef 0.3.1 installed with flatpak, in Debian 12, Gnome, Wayland.
Observe that BeeRef is no longer responding to user input and a traceback is printed to the terminal.
Expected behavior
BeeRef should import the image.
According to QUrl documentation, the problem is probably caused by using a wrong URL representation. Apparently, there is "unencoded representation [...] for showing to users" and "encoded representation [...] you would send to a web server".
The function beeref.fileio.image.load_image() calls path.url(), which produces unencoded representation. Replacing it with path.toEncoded() will produce encoded representation, which should fix this problem. However, I have not tested this.
Screenshots
N/A
Debug log:
Debug log contains the traceback above.
The text was updated successfully, but these errors were encountered:
Describe the bug
When an image with a URL containing non-ASCII characters is dropped to BeeRef, BeeRef hangs and the following error is printed to the terminal:
To Reproduce
I'm using BeeRef 0.3.1 installed with flatpak, in Debian 12, Gnome, Wayland.
Steps to reproduce the behavior:
Expected behavior
BeeRef should import the image.
According to QUrl documentation, the problem is probably caused by using a wrong URL representation. Apparently, there is "unencoded representation [...] for showing to users" and "encoded representation [...] you would send to a web server".
The function
beeref.fileio.image.load_image()
callspath.url()
, which produces unencoded representation. Replacing it withpath.toEncoded()
will produce encoded representation, which should fix this problem. However, I have not tested this.Screenshots
N/A
Debug log:
Debug log contains the traceback above.
The text was updated successfully, but these errors were encountered: