From 74f8765ed2d93a776f1538563e7886f8501d128b Mon Sep 17 00:00:00 2001 From: Goffi Date: Mon, 25 Aug 2014 17:21:04 +0200 Subject: [PATCH] =?UTF-8?q?core:=20twistd=20plugin=20refactoring:=20initia?= =?UTF-8?q?lisation=20method=20manage=20things=20which=20must=20be=20done?= =?UTF-8?q?=20once=20(reactor=20installation=20+=20logging=20configuration?= =?UTF-8?q?),=20this=20method=20is=20called=20when=20service=20is=20create?= =?UTF-8?q?d,=20so=20we=20can=20have=20the=20options=20passed=20to=20twist?= =?UTF-8?q?d=20(necessary=20to=20manage=20logging=20configuration).=20The?= =?UTF-8?q?=20initialisation=20order=20is=20important:=20for=20instance,?= =?UTF-8?q?=20sat=5Fmain=20must=20be=20imported=20after=20logging=20initia?= =?UTF-8?q?lisation.=20This=20refactoring=20avoid=20initialisation=20issue?= =?UTF-8?q?=20when=20S=C3=A0T=20backend=20and=20libervia=20are=20both=20in?= =?UTF-8?q?stalled=20as=20twisted=20plugins.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/sat_main.py | 2 -- src/twisted/plugins/sat_plugin.py | 17 ++++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/core/sat_main.py b/src/core/sat_main.py index 267a8b8e..0f510d3b 100644 --- a/src/core/sat_main.py +++ b/src/core/sat_main.py @@ -19,8 +19,6 @@ from sat.core.i18n import _, D_, languageSwitch from twisted.application import service -from twisted.internet import glib2reactor -glib2reactor.install() from twisted.internet import defer from twisted.words.protocols.jabber import jid from twisted.words.xish import domish diff --git a/src/twisted/plugins/sat_plugin.py b/src/twisted/plugins/sat_plugin.py index a061a849..2ea7993d 100644 --- a/src/twisted/plugins/sat_plugin.py +++ b/src/twisted/plugins/sat_plugin.py @@ -35,14 +35,18 @@ from twisted.application.service import IServiceMaker # XXX: We need to configure logs before any log method is used, so here is the best place. from sat.core.constants import Const as C -from sat.core import log_config -log_config.satConfigure(C.LOG_BACKEND_TWISTED) - -# XXX: SAT must be imported after log configuration, because it write stuff to logs -from sat.core.sat_main import SAT from sat.core.i18n import _ +def initialise(options): + """Method to initialise global modules""" + from twisted.internet import glib2reactor + glib2reactor.install() + # XXX: We need to configure logs before any log method is used, so here is the best place. + from sat.core import log_config + log_config.satConfigure(C.LOG_BACKEND_TWISTED, C, backend_data=options) + + class Options(usage.Options): optParameters = [] @@ -55,6 +59,9 @@ class SatMaker(object): options = Options def makeService(self, options): + # XXX: SAT must be imported after log configuration, because it write stuff to logs + initialise(options.parent) + from sat.core.sat_main import SAT return SAT()