Skip to content

Commit 1a56eeb

Browse files
committed
support for webdavs://
1 parent 83b85af commit 1a56eeb

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

setup.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@
3434
classifiers=CLASSIFIERS,
3535
description="WebDAV support for pyfilesystem2",
3636
entry_points={
37-
'fs.opener': 'webdav = webdavfs.opener:WebDAVOpener'
37+
'fs.opener': [
38+
'webdav = webdavfs.opener:WebDAVOpener',
39+
'webdavs = webdavfs.opener:WebDAVOpener'
40+
]
3841
},
3942
install_requires=REQUIREMENTS,
4043
license="MIT",

webdavfs/opener.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,18 @@
1010

1111

1212
class WebDAVOpener(Opener):
13-
protocols = ['webdav']
13+
protocols = ['webdav', 'webdavs']
1414

1515
def open_fs(self, fs_url, parse_result, writeable, create, cwd):
1616
from .webdavfs import WebDAVFS
1717

1818
webdav_host, _, dir_path = parse_result.resource.partition('/')
1919
webdav_host, _, webdav_port = webdav_host.partition(':')
2020
webdav_port = int(webdav_port) if webdav_port.isdigit() else 80
21-
webdav_scheme = 'http' if webdav_port != 443 else 'https'
21+
if parse_result.protocol == 'webdav':
22+
webdav_scheme = 'http' if webdav_port != 443 else 'https'
23+
else:
24+
webdav_scheme = 'https'
2225

2326
return WebDAVFS(
2427
url='{}://{}:{}'.format(webdav_scheme, webdav_host, webdav_port),

webdavfs/tests/test_opener.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@ def test_opener_webdav():
88
def test_opener_webdav_443():
99
result = open_fs('webdav://foo.bar:443/webdav')
1010
assert result.url.startswith('https://foo.bar')
11+
12+
def test_opener_webdavs():
13+
result = open_fs('webdavs://foo.bar/webdav')
14+
assert result.url.startswith('https://foo.bar')

0 commit comments

Comments
 (0)