[BOOM] deactivate all addons, remove links to addons stuff from base, do not belong...
[odoo/odoo.git] / openerpweb / xmlrpctimeout.py
1 import xmlrpclib
2 import httplib
3
4 class TimeoutHTTPConnection(httplib.HTTPConnection):
5     def connect(self):
6         httplib.HTTPConnection.connect(self)
7         self.sock.settimeout(self.timeout)
8
9 class TimeoutHTTP(httplib.HTTP):
10     _connection_class = TimeoutHTTPConnection
11     def set_timeout(self, timeout):
12         self._conn.timeout = timeout
13
14 class TimeoutTransport(xmlrpclib.Transport):
15     def __init__(self, timeout=10, *l, **kw):
16         xmlrpclib.Transport.__init__(self,*l,**kw)
17         self.timeout=timeout
18     def make_connection(self, host):
19         conn = TimeoutHTTP(host)
20         conn.set_timeout(self.timeout)
21         return conn
22
23 class TimeoutServerProxy(xmlrpclib.ServerProxy):
24     def __init__(self,uri,timeout=10,*l,**kw):
25         kw['transport']=TimeoutTransport(timeout=timeout, use_datetime=kw.get('use_datetime',0))
26         xmlrpclib.ServerProxy.__init__(self,uri,*l,**kw)
27
28 if __name__ == "__main__":
29     s=TimeoutServerProxy('http://127.0.0.1:9090',timeout=2)
30     s.dummy()