diff --git a/addons/web_im/__init__.py b/addons/web_im/__init__.py index 399ad665c23..23c6ad13350 100644 --- a/addons/web_im/__init__.py +++ b/addons/web_im/__init__.py @@ -1,3 +1,2 @@ import im -import im_controller diff --git a/addons/web_im/im.py b/addons/web_im/im.py index 2bf83dbc7d4..b2ff83d6f7d 100644 --- a/addons/web_im/im.py +++ b/addons/web_im/im.py @@ -84,6 +84,23 @@ if openerp.tools.config.options["gevent"]: self.waiting -= 1 +class ImportController(openerp.addons.web.http.Controller): + _cp_path = '/im' + + @openerp.addons.web.http.jsonrequest + def poll(self, req, last=None): + if not openerp.tools.config.options["gevent"]: + raise Exception("Not usable in a server not running gevent") + num = 0 + while True: + res = req.session.model('im.message').get_messages(last, req.session.eval_context(req.context)) + if num >= 1 or len(res["res"]) > 0: + return res + last = res["last"] + num += 1 + print "waiting" + Watcher.get_watcher(res["dbname"]).stop(30) + class im_message(osv.osv): _name = 'im.message' diff --git a/addons/web_im/im_controller.py b/addons/web_im/im_controller.py deleted file mode 100644 index 8cd5fe4505e..00000000000 --- a/addons/web_im/im_controller.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- - -import openerp -import openerp.tools.config -import im - -class ImportController(openerp.addons.web.http.Controller): - _cp_path = '/im' - - @openerp.addons.web.http.jsonrequest - def poll(self, req, last=None): - if not openerp.tools.config.options["gevent"]: - raise Exception("Not usable in a server not running gevent") - num = 0 - while True: - res = req.session.model('im.message').get_messages(last, req.session.eval_context(req.context)) - if num >= 1 or len(res["res"]) > 0: - return res - last = res["last"] - num += 1 - print "waiting" - im.Watcher.get_watcher(res["dbname"]).stop(30)