summaryrefslogtreecommitdiff
path: root/fs/ftpfs.py
diff options
context:
space:
mode:
authorwillmcgugan <willmcgugan@67cdc799-7952-0410-af00-57a81ceafa0f>2010-12-16 20:27:04 +0000
committerwillmcgugan <willmcgugan@67cdc799-7952-0410-af00-57a81ceafa0f>2010-12-16 20:27:04 +0000
commitb3a9c67cad59b3a90b6ddf91b7aaccba52328745 (patch)
treecbd76cfe81f15e8436b427b9488199b734fd42cd /fs/ftpfs.py
parent46340fbf6a98d6ccbabcebf1d184d1bb0e5c08d1 (diff)
downloadpyfilesystem-b3a9c67cad59b3a90b6ddf91b7aaccba52328745.tar.gz
Command improvements
git-svn-id: http://pyfilesystem.googlecode.com/svn/trunk@554 67cdc799-7952-0410-af00-57a81ceafa0f
Diffstat (limited to 'fs/ftpfs.py')
-rw-r--r--fs/ftpfs.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/ftpfs.py b/fs/ftpfs.py
index aa0eec4..43cbda6 100644
--- a/fs/ftpfs.py
+++ b/fs/ftpfs.py
@@ -1035,6 +1035,15 @@ class FTPFS(FS):
pass
self.closed = True
+ def getpathurl(self, path, allow_none=False):
+ path = normpath(path)
+ credentials = '%s:%s' % (self.user, self.passwd)
+ if credentials == ':':
+ url = 'ftp://%s%s' % (self.host.rstrip('/'), abspath(path))
+ else:
+ url = 'ftp://%s@%s%s' % (credentials, self.host.rstrip('/'), abspath(path))
+ return url
+
@ftperrors
def open(self, path, mode='r'):
mode = mode.lower()
@@ -1249,6 +1258,9 @@ class FTPFS(FS):
@ftperrors
def desc(self, path):
+ url = self.getpathurl(path, allow_none=True)
+ if url:
+ return url
dirlist, fname = self._check_path(path)
if fname not in dirlist:
raise ResourceNotFoundError(path)