summaryrefslogtreecommitdiff
path: root/service/pixelated/application.py
diff options
context:
space:
mode:
authorRoald de Vries <rdevries@thoughtworks.com>2016-09-21 12:54:26 +0200
committerRoald de Vries <rdevries@thoughtworks.com>2016-09-21 14:43:32 +0200
commit9d7eaf2b7c527cf05b8b0f7acbd46dbc5483f09f (patch)
tree7cd24264ef65543514c6c7c4862a93d4b71e8c1e /service/pixelated/application.py
parent108a31229e7f98c9c5743198e95332b5f869af9b (diff)
add a first plugin
Diffstat (limited to 'service/pixelated/application.py')
-rw-r--r--service/pixelated/application.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/service/pixelated/application.py b/service/pixelated/application.py
index 03b4417f..2bb5cb9b 100644
--- a/service/pixelated/application.py
+++ b/service/pixelated/application.py
@@ -28,6 +28,8 @@ from twisted.cred.checkers import AllowAnonymousAccess, FilePasswordDB
from twisted.internet import defer
from twisted.internet import reactor
from twisted.internet import ssl
+from twisted.internet.task import LoopingCall
+from twisted.plugin import getPlugins
from pixelated.adapter.welcome_mail import add_welcome_mail
from pixelated.config import arguments
@@ -39,6 +41,7 @@ from pixelated.config.site import PixelatedSite
from pixelated.resources.auth import LeapPasswordChecker, PixelatedRealm, PixelatedAuthSessionWrapper, SessionChecker
from pixelated.resources.login_resource import LoginResource
from pixelated.resources.root_resource import RootResource
+from loglinegenerator import ILogLineGenerator
log = logging.getLogger(__name__)
@@ -98,6 +101,7 @@ def initialize():
def start():
start_async = _start_mode(args, resource, services_factory)
+ start_plugins()
add_top_level_system_callbacks(start_async, services_factory)
log.info('Running the reactor')
@@ -105,6 +109,18 @@ def initialize():
reactor.run()
+def start_plugins():
+ log.info('start_plugins')
+
+ def logGeneratedLines():
+ for p in getPlugins(ILogLineGenerator):
+ logLine = p.getLogLine()
+ if logLine is not None:
+ log.info(logLine)
+
+ LoopingCall(logGeneratedLines).start(1)
+
+
def add_top_level_system_callbacks(deferred, services_factory):
def _quit_on_error(failure):
@@ -125,6 +141,7 @@ def add_top_level_system_callbacks(deferred, services_factory):
def _start_mode(args, resource, services_factory):
+ log.debug('_start_mode')
if services_factory.mode.is_single_user:
deferred = _start_in_single_user_mode(args, resource, services_factory)
else:
@@ -192,6 +209,7 @@ def _start_in_single_user_mode(args, resource, services_factory):
def start_site(config, resource):
log.info('Starting the API on port %s' % config.port)
+
if config.manhole:
log.info('Starting the manhole on port 8008')