Source code for scrolls.dependencies

from scrolls.clock import Clock
from scrolls.configuration import Configuration
from scrolls.factories.counter import CounterFactory
from scrolls.factories.message import MessageFactory
from scrolls.filesystem import Filesystem
from scrolls.log import Log
from scrolls.importer import MessageImporter
from scrolls.repositories.message import MessageRepository
from scrolls.rsyslog import RSyslog
from scrolls.parsers.rsyslog import RSyslogParser
from scrolls.parsers.nginx import NginxParser
from scrolls.parsers.useragent import UseragentParser
from scrolls.security import Security
from scrolls.server import Server
from scrolls.repositories.statistic import StatisticRepository


[docs]class Dependencies(object): """ Dependency Injection service. """ def __init__(self, request=None): self.config = None self.request = request
[docs] def getClock(self): return Clock()
[docs] def getConfiguration(self): if self.config is None: self.config = Configuration(self) return self.config
[docs] def getCounterFactory(self): return CounterFactory(self)
[docs] def getFilesystem(self): return Filesystem(self)
[docs] def getListener(self): import scrolls.listener from socketserver import UDPServer return scrolls.listener.Listener(UDPServer, self)
[docs] def getLog(self): return Log(self)
[docs] def getMessageFactory(self): return MessageFactory(self, self.request)
[docs] def getMessageImporter(self): return MessageImporter(self)
[docs] def getMessageRepository(self): return MessageRepository(self)
[docs] def getNginxParser(self): return NginxParser(self)
[docs] def getRSyslog(self): return RSyslog(self)
[docs] def getRSyslogParser(self): return RSyslogParser(self)
[docs] def getSecurity(self): return Security(self)
[docs] def getServer(self): return Server(self)
[docs] def getStatisticRepository(self): return StatisticRepository(self)
[docs] def getUseragentParser(self): return UseragentParser(self)
[docs] def withRequest(self, request): return Dependencies(request)