Skip to content

Commit d192ee3

Browse files
authored
Merge pull request #83 from dataiku/chore/accept-percent-encoded-space-in-root-overwrite
Accept percent encoded space in root overwrite
2 parents 63fac95 + f95dd7f commit d192ee3

File tree

5 files changed

+30
-10
lines changed

5 files changed

+30
-10
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## [Version 1.1.10](https://github.com/dataiku/dss-plugin-sharepoint-online/releases/tag/v1.1.10) - Patch release - 2025-10-04
4+
5+
- Add legacy mode to accept percent encoded spaces ("%20") in root directory preset overwrite
6+
37
## [Version 1.1.9](https://github.com/dataiku/dss-plugin-sharepoint-online/releases/tag/v1.1.9) - Bugfix release - 2025-09-23
48

59
- Fix handling of username / password error message

plugin.json

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
11
{
22
"id": "sharepoint-online",
3-
"version": "1.1.9",
3+
"version": "1.1.10",
44
"meta": {
55
"label": "SharePoint Online",
66
"description": "Read and write data from/to your SharePoint Online account",
77
"author": "Dataiku (Alex Bourret)",
88
"icon": "icon-cloud",
9+
"category": "Connect",
910
"tags": [
10-
"Connector",
11-
"Cloud",
12-
"Azure",
13-
"Format"
11+
"Data source",
12+
"Export",
13+
"Recipe",
14+
"Dataset"
1415
],
1516
"url": "https://www.dataiku.com/product/plugins/sharepoint-online/",
1617
"licenseInfo": "Apache Software License"
17-
}
18+
},
19+
"params": [
20+
{
21+
"name": "root_name_overwrite_legacy_mode",
22+
"label": "Legacy mode",
23+
"description": "Treat %20 as spaces in root directory preset overwrite",
24+
"type": "BOOLEAN",
25+
"defaultValue": false
26+
}
27+
]
1828
}

python-fs-providers/sharepoint-online_shared-documents/fs-provider.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,11 @@ def __init__(self, root, config, plugin_config):
3232
self.provider_root = "/"
3333
logger.info('SharePoint Online plugin fs v{}'.format(DSSConstants.PLUGIN_VERSION))
3434
logger.info('init:root={}'.format(self.root))
35-
36-
self.client = SharePointClient(config)
35+
root_name_overwrite_legacy_mode = plugin_config.get("root_name_overwrite_legacy_mode", False)
36+
self.client = SharePointClient(
37+
config,
38+
root_name_overwrite_legacy_mode=root_name_overwrite_legacy_mode
39+
)
3740

3841
# util methods
3942
def get_full_path(self, path):

python-lib/dss_constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class DSSConstants(object):
3838
"sharepoint_oauth": "The access token is missing"
3939
}
4040
PATH = 'path'
41-
PLUGIN_VERSION = "1.1.9"
41+
PLUGIN_VERSION = "1.1.10"
4242
SECRET_PARAMETERS_KEYS = ["Authorization", "sharepoint_username", "sharepoint_password", "client_secret", "client_certificate", "passphrase"]
4343
SITE_APP_DETAILS = {
4444
"sharepoint_tenant": "The tenant name is missing",

python-lib/sharepoint_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ class SharePointClientError(ValueError):
3232

3333
class SharePointClient():
3434

35-
def __init__(self, config):
35+
def __init__(self, config, root_name_overwrite_legacy_mode=False):
3636
self.config = config
37+
self.root_name_overwrite_legacy_mode = root_name_overwrite_legacy_mode
3738
self.sharepoint_root = None
3839
self.sharepoint_url = None
3940
self.sharepoint_origin = None
@@ -183,6 +184,8 @@ def setup_login_details(self, login_details):
183184
def apply_paths_overwrite(self, config):
184185
advanced_parameters = config.get("advanced_parameters", False)
185186
sharepoint_root_overwrite = config.get("sharepoint_root_overwrite", "").strip("/")
187+
if self.root_name_overwrite_legacy_mode:
188+
sharepoint_root_overwrite = sharepoint_root_overwrite.replace("%20", " ")
186189
sharepoint_site_overwrite = config.get("sharepoint_site_overwrite", "").strip("/")
187190
if advanced_parameters and sharepoint_root_overwrite:
188191
self.sharepoint_root = sharepoint_root_overwrite

0 commit comments

Comments
 (0)