summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/server/xmlrpcserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/server/xmlrpcserver.py')
-rw-r--r--bitbake/lib/bb/server/xmlrpcserver.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/bitbake/lib/bb/server/xmlrpcserver.py b/bitbake/lib/bb/server/xmlrpcserver.py
index 2fa71be667..ebc271aca4 100644
--- a/bitbake/lib/bb/server/xmlrpcserver.py
+++ b/bitbake/lib/bb/server/xmlrpcserver.py
@@ -11,8 +11,11 @@ import hashlib
11import time 11import time
12import inspect 12import inspect
13from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler 13from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
14import bb.server.xmlrpcclient
14 15
15import bb 16import bb
17import bb.cooker
18import bb.event
16 19
17# This request handler checks if the request has a "Bitbake-token" header 20# This request handler checks if the request has a "Bitbake-token" header
18# field (this comes from the client side) and compares it with its internal 21# field (this comes from the client side) and compares it with its internal
@@ -53,7 +56,7 @@ class BitBakeXMLRPCServer(SimpleXMLRPCServer):
53 56
54 def __init__(self, interface, cooker, parent): 57 def __init__(self, interface, cooker, parent):
55 # Use auto port configuration 58 # Use auto port configuration
56 if (interface[1] == -1): 59 if interface[1] == -1:
57 interface = (interface[0], 0) 60 interface = (interface[0], 0)
58 SimpleXMLRPCServer.__init__(self, interface, 61 SimpleXMLRPCServer.__init__(self, interface,
59 requestHandler=BitBakeXMLRPCRequestHandler, 62 requestHandler=BitBakeXMLRPCRequestHandler,
@@ -86,11 +89,12 @@ class BitBakeXMLRPCServer(SimpleXMLRPCServer):
86 def handle_requests(self): 89 def handle_requests(self):
87 self._handle_request_noblock() 90 self._handle_request_noblock()
88 91
89class BitBakeXMLRPCServerCommands(): 92class BitBakeXMLRPCServerCommands:
90 93
91 def __init__(self, server): 94 def __init__(self, server):
92 self.server = server 95 self.server = server
93 self.has_client = False 96 self.has_client = False
97 self.event_handle = None
94 98
95 def registerEventHandler(self, host, port): 99 def registerEventHandler(self, host, port):
96 """ 100 """
@@ -99,8 +103,8 @@ class BitBakeXMLRPCServerCommands():
99 s, t = bb.server.xmlrpcclient._create_server(host, port) 103 s, t = bb.server.xmlrpcclient._create_server(host, port)
100 104
101 # we don't allow connections if the cooker is running 105 # we don't allow connections if the cooker is running
102 if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): 106 if self.server.cooker.state in [bb.cooker.State.PARSING, bb.cooker.State.RUNNING]:
103 return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) 107 return None, f"Cooker is busy: {self.server.cooker.state.name}"
104 108
105 self.event_handle = bb.event.register_UIHhandler(s, True) 109 self.event_handle = bb.event.register_UIHhandler(s, True)
106 return self.event_handle, 'OK' 110 return self.event_handle, 'OK'
@@ -117,7 +121,7 @@ class BitBakeXMLRPCServerCommands():
117 """ 121 """
118 Run a cooker command on the server 122 Run a cooker command on the server
119 """ 123 """
120 return self.server.cooker.command.runCommand(command, self.server.readonly) 124 return self.server.cooker.command.runCommand(command, self.server.parent, self.server.readonly)
121 125
122 def getEventHandle(self): 126 def getEventHandle(self):
123 return self.event_handle 127 return self.event_handle