mirror of
				https://github.com/avatao-content/baseimage-tutorial-framework
				synced 2025-11-04 05:52:55 +00:00 
			
		
		
		
	Initialise supervisor xmlrpc client lazily to avoid globals
This commit is contained in:
		@@ -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):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user