1
1
import datetime
2
2
from typing import TYPE_CHECKING , AnyStr
3
- from urllib .parse import quote
3
+ from urllib .parse import quote , unquote
4
4
5
5
import requests
6
6
@@ -608,9 +608,13 @@ def save_binary(context, server_relative_url, content):
608
608
:type server_relative_url: str
609
609
:type content: str
610
610
"""
611
+ try :
612
+ decoded_server_relative_url = unquote (server_relative_url )
613
+ except (ValueError , AttributeError , TypeError ):
614
+ decoded_server_relative_url = server_relative_url
611
615
url = quote (
612
616
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
614
618
),
615
619
safe = ":/" ,
616
620
)
@@ -630,9 +634,13 @@ def open_binary(context, server_relative_url):
630
634
:type server_relative_url: str
631
635
:return Response
632
636
"""
637
+ try :
638
+ decoded_server_relative_url = unquote (server_relative_url )
639
+ except (ValueError , AttributeError , TypeError ):
640
+ decoded_server_relative_url = server_relative_url
633
641
url = quote (
634
642
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
636
644
),
637
645
safe = ":/" ,
638
646
)
0 commit comments