Compare commits

..

No commits in common. "develop" and "master" have entirely different histories.

5 changed files with 5 additions and 30 deletions

View file

@ -4,7 +4,8 @@ dist: xenial
addons: addons:
sonarcloud: sonarcloud:
organization: "ezhov-evgeny" organization: "ezhov-evgeny"
token: f0f714f3bea6bd103e3eb82724ef3bb0d3b54d1d token:
secure: f0f714f3bea6bd103e3eb82724ef3bb0d3b54d1d
services: services:
- docker - docker

View file

@ -1,26 +0,0 @@
import unittest
from tests.test_client_it import ClientTestCase
class TailingSlashClientTestCase(ClientTestCase):
options = {
'webdav_hostname': 'http://localhost:8585/',
'webdav_login': 'alice',
'webdav_password': 'secret1234',
'webdav_override_methods': {
'check': 'GET'
}
}
def test_list_inner(self):
self._prepare_for_downloading(True)
file_list = self.client.list(self.remote_inner_path_dir)
self.assertIsNotNone(file_list, 'List of files should not be None')
def test_hostname_no_tailing_slash(self):
self.assertEqual('5', self.client.webdav.hostname[-1])
if __name__ == '__main__':
unittest.main()

View file

@ -214,10 +214,9 @@ class Client(object):
response = self.session.request( response = self.session.request(
method=self.requests[action], method=self.requests[action],
url=self.get_url(path), url=self.get_url(path),
auth=(self.webdav.login, self.webdav.password) if (not self.webdav.token and not self.session.auth) else None, auth=(self.webdav.login, self.webdav.password) if not self.webdav.token else None,
headers=self.get_headers(action, headers_ext), headers=self.get_headers(action, headers_ext),
timeout=self.timeout, timeout=self.timeout,
cert=(self.webdav.cert_path, self.webdav.key_path) if (self.webdav.cert_path and self.webdav.key_path) else None,
data=data, data=data,
stream=True, stream=True,
verify=self.verify verify=self.verify

View file

@ -50,7 +50,6 @@ class WebDAVSettings(ConnectionSettings):
self.root = Urn(self.root).quote() if self.root else '' self.root = Urn(self.root).quote() if self.root else ''
self.root = self.root.rstrip(Urn.separate) self.root = self.root.rstrip(Urn.separate)
self.hostname = self.hostname.rstrip(Urn.separate)
def is_valid(self): def is_valid(self):
if not self.hostname: if not self.hostname:

View file

@ -34,11 +34,13 @@ class Urn(object):
return self._path return self._path
def filename(self): def filename(self):
path_split = self._path.split(Urn.separate) path_split = self._path.split(Urn.separate)
name = path_split[-2] + Urn.separate if path_split[-1] == '' else path_split[-1] name = path_split[-2] + Urn.separate if path_split[-1] == '' else path_split[-1]
return unquote(name) return unquote(name)
def parent(self): def parent(self):
path_split = self._path.split(Urn.separate) path_split = self._path.split(Urn.separate)
nesting_level = self.nesting_level() nesting_level = self.nesting_level()
parent_path_split = path_split[:nesting_level] parent_path_split = path_split[:nesting_level]