diff options
author | Ruben Pollan <meskio@sindominio.net> | 2017-06-02 12:33:26 +0200 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2017-06-05 20:56:28 +0200 |
commit | 4d7380dd1e868aceeebc64ed5fc1d24369999fa9 (patch) | |
tree | 8cb479b025378ec4b2b76a078a562c8aad7dcf91 /src/leap/bitmask | |
parent | bc7dd3e575fcd5ed6ee6aa352c97741f761130aa (diff) |
[feat] On bitmaskclt vpn start use the last vpn if no provider is provided
- Resolves: #8835
Diffstat (limited to 'src/leap/bitmask')
-rw-r--r-- | src/leap/bitmask/cli/vpn.py | 6 | ||||
-rw-r--r-- | src/leap/bitmask/core/dispatcher.py | 3 | ||||
-rw-r--r-- | src/leap/bitmask/vpn/service.py | 9 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/leap/bitmask/cli/vpn.py b/src/leap/bitmask/cli/vpn.py index 1c7ad3b..219cac1 100644 --- a/src/leap/bitmask/cli/vpn.py +++ b/src/leap/bitmask/cli/vpn.py @@ -54,7 +54,7 @@ SUBCOMMANDS: help='provider to start the VPN') subargs = parser.parse_args(raw_args) - provider = None + provider = "" if subargs.provider: provider = subargs.provider else: @@ -62,9 +62,7 @@ SUBCOMMANDS: try: _, provider = uid.split('@') except ValueError: - error = ValueError("A provider is needed to start the VPN") - error.expected = True - raise error + pass self.data += ['start', provider] diff --git a/src/leap/bitmask/core/dispatcher.py b/src/leap/bitmask/core/dispatcher.py index ccb17db..ba000d4 100644 --- a/src/leap/bitmask/core/dispatcher.py +++ b/src/leap/bitmask/core/dispatcher.py @@ -202,8 +202,7 @@ class VPNCmd(SubCommand): try: provider = parts[2] except IndexError: - raise DispatchError( - 'wrong number of arguments: expected 1, got none') + provider = None d = vpn.start_vpn(provider) return d diff --git a/src/leap/bitmask/vpn/service.py b/src/leap/bitmask/vpn/service.py index 5ab1e97..6586a4f 100644 --- a/src/leap/bitmask/vpn/service.py +++ b/src/leap/bitmask/vpn/service.py @@ -72,11 +72,18 @@ class VPNService(HookableService): super(VPNService, self).stopService() @defer.inlineCallbacks - def start_vpn(self, domain): + def start_vpn(self, domain=None): if self._started: exc = Exception('VPN already started') exc.expected = True raise exc + if not domain: + domain = self._read_last() + if not domain: + exc = Exception("VPN can't start, a provider is need") + exc.expected = True + raise exc + yield self._setup(domain) try: |