From fb64a0d6f54c35955e7957e5656341b25e56f476 Mon Sep 17 00:00:00 2001 From: "Harry (Open ERP)" Date: Thu, 5 Feb 2009 17:21:40 +0530 Subject: [PATCH] [DMS:#325632] put exception handling bzr revid: hmo@tinyerp.com-20090205115140-pb3dkpadn0crxmkk --- addons/document/document.py | 39 ++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/addons/document/document.py b/addons/document/document.py index ada5c78dc55..84a13af5564 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -510,24 +510,27 @@ class document_file(osv.osv): if not value: return True #if (not context) or context.get('store_method','fs')=='fs': - path = self._get_filestore(cr) - if not os.path.isdir(path): - os.makedirs(path) - flag = None - # This can be improved - for dirs in os.listdir(path): - if os.path.isdir(os.path.join(path,dirs)) and len(os.listdir(os.path.join(path,dirs)))<4000: - flag = dirs - break - flag = flag or create_directory(path) - filename = random_name() - fname = os.path.join(path, flag, filename) - fp = file(fname,'wb') - v = base64.decodestring(value) - fp.write(v) - filesize = os.stat(fname).st_size - cr.execute('update ir_attachment set store_fname=%s,store_method=%s,file_size=%s where id=%s', (os.path.join(flag,filename),'fs',len(v),id)) - return True + try: + path = self._get_filestore(cr) + if not os.path.isdir(path): + os.makedirs(path) + flag = None + # This can be improved + for dirs in os.listdir(path): + if os.path.isdir(os.path.join(path,dirs)) and len(os.listdir(os.path.join(path,dirs)))<4000: + flag = dirs + break + flag = flag or create_directory(path) + filename = random_name() + fname = os.path.join(path, flag, filename) + fp = file(fname,'wb') + v = base64.decodestring(value) + fp.write(v) + filesize = os.stat(fname).st_size + cr.execute('update ir_attachment set store_fname=%s,store_method=%s,file_size=%s where id=%s', (os.path.join(flag,filename),'fs',len(v),id)) + return True + except Exception,e : + raise except_orm('Error!', str(e)) _columns = { 'user_id': fields.many2one('res.users', 'Owner', select=1),