diff options
-rw-r--r-- | src/leap/config/providerconfig.py | 5 | ||||
-rw-r--r-- | src/leap/gui/mainwindow.py | 4 | ||||
-rw-r--r-- | src/leap/gui/wizard.py | 8 | ||||
-rw-r--r-- | src/leap/services/__init__.py | 33 |
4 files changed, 46 insertions, 4 deletions
diff --git a/src/leap/config/providerconfig.py b/src/leap/config/providerconfig.py index 6bbd7422..94568c27 100644 --- a/src/leap/config/providerconfig.py +++ b/src/leap/config/providerconfig.py @@ -24,6 +24,7 @@ import os from leap.common.check import leap_assert from leap.common.config.baseconfig import BaseConfig, LocalizedKey from leap.config.provider_spec import leap_provider_spec +from leap.services import get_available logger = logging.getLogger(__name__) @@ -32,7 +33,6 @@ class ProviderConfig(BaseConfig): """ Provider configuration abstraction class """ - def __init__(self): BaseConfig.__init__(self) @@ -86,7 +86,8 @@ class ProviderConfig(BaseConfig): :rtype: list """ - return self._safe_get_value("services") + services = get_available(self._safe_get_value("services")) + return services def get_services_string(self): """ diff --git a/src/leap/gui/mainwindow.py b/src/leap/gui/mainwindow.py index a3c601c5..2ed01917 100644 --- a/src/leap/gui/mainwindow.py +++ b/src/leap/gui/mainwindow.py @@ -110,10 +110,14 @@ class MainWindow(QtGui.QMainWindow): QtGui.QMainWindow.__init__(self) # register leap events + + # XXX ------- this is blocking ----------- register(signal=proto.UPDATER_NEW_UPDATES, callback=self._new_updates_available) register(signal=proto.RAISE_WINDOW, callback=self._on_raise_window_event) + # XXX ------- this is blocking ----------- + self._quit_callback = quit_callback self._updates_content = "" diff --git a/src/leap/gui/wizard.py b/src/leap/gui/wizard.py index 897bf94f..066a7db3 100644 --- a/src/leap/gui/wizard.py +++ b/src/leap/gui/wizard.py @@ -32,6 +32,7 @@ from leap.crypto.srpregister import SRPRegister from leap.util.privilege_policies import is_missing_policy_permissions from leap.util.request_helpers import get_content from leap.services.eip.providerbootstrapper import ProviderBootstrapper +from leap.services import get_available logger = logging.getLogger(__name__) @@ -514,13 +515,16 @@ class Wizard(QtGui.QWizard): def _populate_services(self): """ Loads the services that the provider provides into the UI for - the user to enable or disable + the user to enable or disable. """ self.ui.grpServices.setTitle( self.tr("Services by %s") % (self._provider_config.get_name(),)) - for service in self._provider_config.get_services(): + services = get_available( + self._provider_config.get_services()) + + for service in services: try: if service not in self._shown_services: checkbox = QtGui.QCheckBox(self) diff --git a/src/leap/services/__init__.py b/src/leap/services/__init__.py index e69de29b..70a5dcf2 100644 --- a/src/leap/services/__init__.py +++ b/src/leap/services/__init__.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# __init__.py +# Copyright (C) 2013 LEAP +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +""" +Services module. +""" +NOT_YET_DEPLOYED = ["mx"] # for 0.2.2 release + + +def get_available(services): + """ + Returns a list of the available services. + + :param services: a list containing the services to be filtered. + :type services: list of str + + :returns: a list of the available services + :rtype: list of str + """ + return filter(lambda s: s not in NOT_YET_DEPLOYED, services) |