[FIX] problem with ncftp client
authorHarry (Open ERP) <hmo@tinyerp.com>
Fri, 31 Jul 2009 12:24:54 +0000 (17:54 +0530)
committerHarry (Open ERP) <hmo@tinyerp.com>
Fri, 31 Jul 2009 12:24:54 +0000 (17:54 +0530)
bzr revid: hmo@tinyerp.com-20090731122454-h1ttteq7lisp3f27

addons/document/ftpserver/abstracted_fs.py

index 47f3a2f..a59d61e 100644 (file)
@@ -13,6 +13,7 @@ import netsvc
 import os
 from service import security
 from osv import osv
+import stat
 
 def log(message):
     logger = netsvc.Logger()
@@ -797,8 +798,7 @@ class abstracted_fs:
         if 'd' in perms:
             permdir += 'p'
         type = size = perm = modify = create = unique = mode = uid = gid = ""
-        for basename in listing:
-            file = os.path.join(basedir, basename)
+        for file in listing:                        
             try:
                 st = self.stat(file)
             except OSError:
@@ -808,12 +808,7 @@ class abstracted_fs:
             # type + perm
             if stat.S_ISDIR(st.st_mode):
                 if 'type' in facts:
-                    if basename == '.':
-                        type = 'type=cdir;'
-                    elif basename == '..':
-                        type = 'type=pdir;'
-                    else:
-                        type = 'type=dir;'
+                    type = 'type=dir;'                    
                 if 'perm' in facts:
                     perm = 'perm=%s;' %permdir
             else:
@@ -855,9 +850,9 @@ class abstracted_fs:
             # on Windows NTFS filesystems MTF records could be used).
             if 'unique' in facts:
                 unique = "unique=%x%x;" %(st.st_dev, st.st_ino)
-            basename=_to_decode(basename)
+            path=_to_decode(file.path)
             yield "%s%s%s%s%s%s%s%s%s %s\r\n" %(type, size, perm, modify, create,
-                                                mode, uid, gid, unique, basename)
+                                                mode, uid, gid, unique, path)
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: