Initialise supervisor xmlrpc client lazily to avoid globals

This commit is contained in:
Kristóf Tóth
2018-06-01 14:01:32 +02:00
parent 8817f991a5
commit 9f3a3b501f
2 changed files with 4 additions and 12 deletions

View File

@ -6,21 +6,14 @@ from xmlrpc.client import Fault as SupervisorFault
from contextlib import suppress
from os import remove
from tfw.decorators import LazyInitialise
from tfw.config import TFWENV
def get_supervisor_instance():
return xmlrpc.client.ServerProxy(TFWENV.SUPERVISOR_HTTP_URI).supervisor
class SupervisorBaseMixin:
supervisor = get_supervisor_instance()
def acquire_own_supervisor_instance(self):
"""
Give this instance non-static, local xmlrpc client
"""
self.supervisor = get_supervisor_instance()
@LazyInitialise
def supervisor(self):
return xmlrpc.client.ServerProxy(TFWENV.SUPERVISOR_HTTP_URI).supervisor
class SupervisorMixin(SupervisorBaseMixin):