summaryrefslogtreecommitdiff
path: root/addons/document/document.py
diff options
context:
space:
mode:
authorHarry (Open ERP) <hmo@tinyerp.com>2009-02-05 17:21:40 +0530
committerHarry (Open ERP) <hmo@tinyerp.com>2009-02-05 17:21:40 +0530
commitfb64a0d6f54c35955e7957e5656341b25e56f476 (patch)
tree1031bcc12157266fb864f57a38c5255157cece88 /addons/document/document.py
parent6a41299d79d2d368eb754cac6d887d67fe53d7ec (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.py39
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),