Merge lp:~kangol/openobject-client-web/6.0-fix-get-web-addons into lp:openobject-client-web

Proposed by Christophe Simonis (OpenERP)
Status: Rejected
Rejected by: Xavier (Open ERP)
Proposed branch: lp:~kangol/openobject-client-web/6.0-fix-get-web-addons
Merge into: lp:openobject-client-web
Diff against target: 40 lines (+15/-1)
1 file modified
addons/openerp/controllers/modules.py (+15/-1)
To merge this branch: bzr merge lp:~kangol/openobject-client-web/6.0-fix-get-web-addons
Reviewer Review Type Date Requested Status
Xavier (Open ERP) Pending
Review via email: mp+48942@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

4502. By Christophe Simonis (OpenERP)

[FIX] avoid "Unrecoverable Error" when cannot get web addons

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'addons/openerp/controllers/modules.py'
2--- addons/openerp/controllers/modules.py 2011-01-18 11:35:00 +0000
3+++ addons/openerp/controllers/modules.py 2011-02-08 16:38:45 +0000
4@@ -3,14 +3,27 @@
5 import os
6 import shutil
7 import tempfile
8+from functools import wraps
9 from cStringIO import StringIO
10
11 from openerp.controllers import form
12 from openerp.utils import rpc
13+from openerp.utils.common import TinyException
14
15-from openobject import paths, addons, pooler
16+from openobject import paths, addons
17 from openobject.tools import extract_zip_file
18
19+def catch(exc, value):
20+ def decorator(f):
21+ @wraps(f)
22+ def wrapper(*args, **kwargs):
23+ try:
24+ return f(*args, **kwargs)
25+ except exc:
26+ return value
27+ return wrapper
28+ return decorator
29+
30 class ModuleForm(form.Form):
31 _cp_path = "/openerp/modules"
32
33@@ -27,6 +40,7 @@
34 or name not in addons._loaded[cherrypy.session.get('db')])
35 ])
36
37+ @catch(TinyException, [])
38 def get_new_modules(self):
39 if not addons.writeable: return []
40 modules = rpc.RPCProxy('ir.module.module')