diff options
Diffstat (limited to 'src')
| -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) | 
