From ef2b85252c63c3c04820ec020088baa0ff004f72 Mon Sep 17 00:00:00 2001 From: roman Date: Fri, 4 Oct 2019 18:12:19 +0300 Subject: [PATCH] FIX: Close all connections created by ServerProxy --- erppeek.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/erppeek.py b/erppeek.py index 50ec695..b896de4 100644 --- a/erppeek.py +++ b/erppeek.py @@ -483,6 +483,7 @@ class Client(object): def __init__(self, server, db=None, user=None, password=None, transport=None, verbose=False): + self.close_methods = [] self._set_services(server, transport, verbose) self.reset() self.context = None @@ -536,6 +537,7 @@ def _proxy_dispatch(self, name): def _proxy_xmlrpc(self, name): proxy = ServerProxy(self._server + '/' + name, transport=self._transport, allow_none=True) + self.close_methods.append(proxy('close')) return proxy._ServerProxy__request def _proxy_jsonrpc(self, name): @@ -561,6 +563,7 @@ def reset(self): self.user = self._environment = None self._db, self._models = (), {} self._execute = self._exec_workflow = None + map(lambda m: m(), self.close_methods) def __repr__(self): return "" % (self._server, self._db)