Skip to content

Commit 1a169ab

Browse files
authored
Merge pull request #960 from bhavberi/unquote_url
Unquote URL before quoting it (for backward compatibility)
2 parents a61c67f + d3457fd commit 1a169ab

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

office365/sharepoint/files/file.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import datetime
22
from typing import TYPE_CHECKING, AnyStr
3-
from urllib.parse import quote
3+
from urllib.parse import quote, unquote
44

55
import requests
66

@@ -608,9 +608,13 @@ def save_binary(context, server_relative_url, content):
608608
:type server_relative_url: str
609609
:type content: str
610610
"""
611+
try:
612+
decoded_server_relative_url = unquote(server_relative_url)
613+
except (ValueError, AttributeError, TypeError):
614+
decoded_server_relative_url = server_relative_url
611615
url = quote(
612616
r"{0}/web/getFileByServerRelativePath(DecodedUrl='{1}')/\$value".format(
613-
context.service_root_url(), server_relative_url
617+
context.service_root_url(), decoded_server_relative_url
614618
),
615619
safe=":/",
616620
)
@@ -630,9 +634,13 @@ def open_binary(context, server_relative_url):
630634
:type server_relative_url: str
631635
:return Response
632636
"""
637+
try:
638+
decoded_server_relative_url = unquote(server_relative_url)
639+
except (ValueError, AttributeError, TypeError):
640+
decoded_server_relative_url = server_relative_url
633641
url = quote(
634642
r"{0}/web/getFileByServerRelativePath(DecodedUrl='{1}')/\$value".format(
635-
context.service_root_url(), server_relative_url
643+
context.service_root_url(), decoded_server_relative_url
636644
),
637645
safe=":/",
638646
)

0 commit comments

Comments
 (0)