summaryrefslogtreecommitdiff
path: root/src/leap/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/base')
-rw-r--r--src/leap/base/checks.py3
-rw-r--r--src/leap/base/constants.py2
-rw-r--r--src/leap/base/exceptions.py55
3 files changed, 50 insertions, 10 deletions
diff --git a/src/leap/base/checks.py b/src/leap/base/checks.py
index 0dbb2846..84f9dd46 100644
--- a/src/leap/base/checks.py
+++ b/src/leap/base/checks.py
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
-
import logging
import platform
@@ -17,8 +16,6 @@ class LeapNetworkChecker(object):
"""
all network related checks
"""
- # TODO refactor to use psutil ---
-
# #718
# XXX get provider gateway as a parameter
# for constructor.
diff --git a/src/leap/base/constants.py b/src/leap/base/constants.py
index 8a76b6b4..3f32176f 100644
--- a/src/leap/base/constants.py
+++ b/src/leap/base/constants.py
@@ -29,4 +29,4 @@ DEFAULT_PROVIDER_DEFINITION = {
MAX_ICMP_PACKET_LOSS = 10
-ROUTE_CHECK_INTERVAL = 120
+ROUTE_CHECK_INTERVAL = 10
diff --git a/src/leap/base/exceptions.py b/src/leap/base/exceptions.py
index 48d827f5..f12a49d5 100644
--- a/src/leap/base/exceptions.py
+++ b/src/leap/base/exceptions.py
@@ -1,3 +1,43 @@
+"""
+Exception attributes and their meaning/uses
+-------------------------------------------
+
+* critical: if True, will abort execution prematurely,
+ after attempting any cleaning
+ action.
+
+* failfirst: breaks any error_check loop that is examining
+ the error queue.
+
+* message: the message that will be used in the __repr__ of the exception.
+
+* usermessage: the message that will be passed to user in ErrorDialogs
+ in Qt-land.
+"""
+
+
+class LeapException(Exception):
+ """
+ base LeapClient exception
+ sets some parameters that we will check
+ during error checking routines
+ """
+ critical = False
+ failfirst = False
+ warning = False
+
+
+class CriticalError(LeapException):
+ """
+ we cannot do anything about it
+ """
+ critical = True
+ failfirst = True
+
+
+# In use ???
+# don't thing so. purge if not...
+
class MissingConfigFileError(Exception):
pass
@@ -6,24 +46,27 @@ class ImproperlyConfigured(Exception):
pass
-class NoDefaultInterfaceFoundError(Exception):
+class NoDefaultInterfaceFoundError(LeapException):
message = "no default interface found"
usermessage = "Looks like your computer is not connected to the internet"
-class InterfaceNotFoundError(Exception):
+class InterfaceNotFoundError(LeapException):
# XXX should take iface arg on init maybe?
message = "interface not found"
-class NoConnectionToGateway(Exception):
+class NoConnectionToGateway(CriticalError):
message = "no connection to gateway"
usermessage = "Looks like there are problems with your internet connection"
-class NoInternetConnection(Exception):
+class NoInternetConnection(CriticalError):
message = "No Internet connection found"
+ usermessage = "It looks like there is no internet connection."
+ # and now we try to connect to our web to troubleshoot LOL :P
-class TunnelNotDefaultRouteError(Exception):
- message = "VPN Maybe be down."
+class TunnelNotDefaultRouteError(CriticalError):
+ message = "Tunnel connection dissapeared. VPN down?"
+ usermessage = "The Encrypted Connection was lost. Shutting down..."