diff options
| author | Harry (Open ERP) <hmo@tinyerp.com> | 2009-02-05 17:21:40 +0530 |
|---|---|---|
| committer | Harry (Open ERP) <hmo@tinyerp.com> | 2009-02-05 17:21:40 +0530 |
| commit | fb64a0d6f54c35955e7957e5656341b25e56f476 (patch) | |
| tree | 1031bcc12157266fb864f57a38c5255157cece88 /addons/document/document.py | |
| parent | 6a41299d79d2d368eb754cac6d887d67fe53d7ec (diff) | |
[DMS:#325632] put exception handling
bzr revid: hmo@tinyerp.com-20090205115140-pb3dkpadn0crxmkk
Diffstat (limited to 'addons/document/document.py')
| -rw-r--r-- | addons/document/document.py | 39 |
1 files 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), |
