Document ftp: better handling of wrong paths.
[odoo/odoo.git] / addons / document_ftp / ftpserver / abstracted_fs.py
index 6097489..b5465c9 100644 (file)
@@ -249,8 +249,6 @@ class abstracted_fs(object):
         except Exception,e:
             self._log.exception('Cannot create dir "%s" at node %s', basename, repr(node))
             raise OSError(1, 'Operation not permited.')
-        finally:
-            if cr: cr.close()
 
     def close_cr(self, data):
         if data and data[0]:
@@ -302,9 +300,11 @@ class abstracted_fs(object):
         if os.path.isabs(path):
             # we have to start from root, again
             p_parts = p_parts[1:]
+            if not p_parts:
+                raise IOError(errno.EPERM, 'Cannot perform operation at root dir')
             dbname = p_parts[0]
             if dbname not in self.db_list():
-                return None
+                return IOError(errno.ENOENT,'Invalid database path')
             try:
                 db = pooler.get_db(dbname)
             except Exception: