diff options
author | Kali Kaneko <kali@leap.se> | 2017-08-10 12:55:26 -0400 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2017-08-10 15:24:24 -0400 |
commit | c3ee473837be32cd01f222e0609af36f919a90d3 (patch) | |
tree | 342064902b8d220898ec20044bb82cd44c8ec64e /src/leap/bitmask/core/service.py | |
parent | 63b3413ced33d7b63cf1a9a5d37070ec81f627c8 (diff) |
[refactor] fail gracefully if some modules not present
this allows for better modularization in, for instance, the debian
package. we should be able to install just the submodules for the vpn
service, or the mail service.
a better modularization needs the mail_services under core to be moved
to bitmask.mail, and do the switch in the main service module for
bitmask daemon.
Diffstat (limited to 'src/leap/bitmask/core/service.py')
-rw-r--r-- | src/leap/bitmask/core/service.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/leap/bitmask/core/service.py b/src/leap/bitmask/core/service.py index 6244b17e..ec3536f2 100644 --- a/src/leap/bitmask/core/service.py +++ b/src/leap/bitmask/core/service.py @@ -35,8 +35,13 @@ from leap.bitmask.core import flags from leap.bitmask.core import _zmq from leap.bitmask.core import _session from leap.bitmask.core.web.service import HTTPDispatcherService -from leap.bitmask.vpn.service import VPNService from leap.common.events import server as event_server +try: + from leap.bitmask.vpn.service import VPNService + HAS_VPN = True +except ImportError: + HAS_VPN = False + backend = flags.BACKEND @@ -201,7 +206,8 @@ class BitmaskBackend(configurable.ConfigurableService): self._maybe_init_service('mail', service, self.basedir) def _init_vpn(self): - self._maybe_init_service('vpn', VPNService) + if HAS_VPN: + self._maybe_init_service('vpn', VPNService) def _init_zmq(self): zs = _zmq.ZMQServerService(self) |