Pass output, backend and frontend classes into coreprocess to so that import errors are handeled better
This commit is contained in:
parent
9c11c5ecb9
commit
a05212251b
@ -22,7 +22,10 @@ def main():
|
||||
get_or_create_folder('~/.mopidy/')
|
||||
core_queue = multiprocessing.Queue()
|
||||
get_class(settings.SERVER)(core_queue).start()
|
||||
core = CoreProcess(core_queue)
|
||||
output_class = get_class(settings.OUTPUT)
|
||||
backend_class = get_class(settings.BACKENDS[0])
|
||||
frontend_class = get_class(settings.FRONTEND)
|
||||
core = CoreProcess(core_queue, output_class, backend_class, frontend_class)
|
||||
core.start()
|
||||
asyncore.loop()
|
||||
|
||||
|
||||
@ -37,10 +37,14 @@ class BaseProcess(multiprocessing.Process):
|
||||
|
||||
|
||||
class CoreProcess(BaseProcess):
|
||||
def __init__(self, core_queue):
|
||||
def __init__(self, core_queue, output_class, backend_class,
|
||||
frontend_class):
|
||||
super(CoreProcess, self).__init__()
|
||||
self.core_queue = core_queue
|
||||
self.output_queue = None
|
||||
self.output_class = output_class
|
||||
self.backend_class = backend_class
|
||||
self.frontend_class = frontend_class
|
||||
self.output = None
|
||||
self.backend = None
|
||||
self.frontend = None
|
||||
@ -53,11 +57,9 @@ class CoreProcess(BaseProcess):
|
||||
|
||||
def setup(self):
|
||||
self.output_queue = multiprocessing.Queue()
|
||||
self.output = get_class(settings.OUTPUT)(self.core_queue,
|
||||
self.output_queue)
|
||||
self.backend = get_class(settings.BACKENDS[0])(self.core_queue,
|
||||
self.output_queue)
|
||||
self.frontend = get_class(settings.FRONTEND)(self.backend)
|
||||
self.output = self.output_class(self.core_queue, self.output_queue)
|
||||
self.backend = self.backend_class(self.core_queue, self.output_queue)
|
||||
self.frontend = self.frontend_class(self.backend)
|
||||
|
||||
def process_message(self, message):
|
||||
if message.get('to') == 'output':
|
||||
|
||||
Loading…
Reference in New Issue
Block a user