From 6a94de909b027dc1259b3fc8b4d1cd16d1d2c467 Mon Sep 17 00:00:00 2001 From: "Harry (Open ERP)" Date: Tue, 13 Apr 2010 16:33:20 +0530 Subject: [REF+IMP] document bzr revid: hmo@tinyerp.com-20100413110320-9x1fy7l432sinxvd --- addons/document_ftp/ftpserver/abstracted_fs.py | 35 ++++++++------------------ 1 file changed, 11 insertions(+), 24 deletions(-) (limited to 'addons/document_ftp/ftpserver') diff --git a/addons/document_ftp/ftpserver/abstracted_fs.py b/addons/document_ftp/ftpserver/abstracted_fs.py index 0ffa8eb80f2..54b2cb9830f 100644 --- a/addons/document_ftp/ftpserver/abstracted_fs.py +++ b/addons/document_ftp/ftpserver/abstracted_fs.py @@ -309,31 +309,18 @@ class abstracted_fs: def open(self, node, mode): if not node: raise OSError(1, 'Operation not permited.') - # Reading operation - if node.type == 'file': - cr = pooler.get_db(node.context.dbname).cursor() - uid = node.context.uid - if not self.isfile(node): - raise OSError(1, 'Operation not permited.') - fobj = node.context._dirobj.pool.get('ir.attachment').browse(cr, uid, node.file_id, context=node.context.context) - if fobj.store_method and fobj.store_method== 'fs' : - s = StringIO.StringIO(node.get_data(cr, fobj)) - else: - s = StringIO.StringIO(base64.decodestring(fobj.db_datas or '')) - s.name = node - cr.close() - return s - elif node.type == 'content': - uid = node.context.uid - cr = pooler.get_db(node.context.dbname).cursor() - pool = pooler.get_pool(node.context.dbname) - res = getattr(pool.get('document.directory.content'), 'process_read')(cr, uid, node) - res = StringIO.StringIO(res) - res.name = node - cr.close() - return res - else: + # Reading operation + cr = pooler.get_db(node.context.dbname).cursor() + res = False + #try: + if node.type not in ('collection','database'): + res = node.open(cr, mode) + #except: + # pass + cr.close() + if not res: raise OSError(1, 'Operation not permited.') + return res # ok, but need test more -- cgit v1.2.3