Edit File: remoteip_install.py
import logging from defence360agent.contracts.plugins import MessageSink from defence360agent.subsys.web_server import NotRunningError from im360.subsys.remoteip import ModRemoteIp logger = logging.getLogger(__name__) class RemoteIpInstall(MessageSink): async def create_sink(self, loop): self._loop = loop self._task = self._loop.create_task(self._check_remoteip()) async def shutdown(self): self._task.cancel() await self._task async def _check_remoteip(self): remoteip = ModRemoteIp() if not remoteip.is_supported(): logger.warning( "Automatic mod_remoteip installation is not supported" " on this server" ) try: if not await remoteip.is_installed(): await remoteip.install() logger.info("mod_remoteip successfully installed") except NotRunningError: logger.warning( "skipping installation due to apache server not running" )