diff options
| author | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-08-02 13:29:07 -0300 | 
|---|---|---|
| committer | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-08-02 13:32:31 -0300 | 
| commit | f86b56bbb4fa6b713ac393cd5481709478910307 (patch) | |
| tree | 2a2f500eb81e78a90f5b403fad7a596f2bff0f95 /src | |
| parent | 10770998c96e95b4316fd0e6fe1943c5df2373da (diff) | |
Add missing files improvement + user warning.
Closes #3294.
Diffstat (limited to 'src')
| -rw-r--r-- | src/leap/platform_init/initializers.py | 35 | 
1 files changed, 26 insertions, 9 deletions
| diff --git a/src/leap/platform_init/initializers.py b/src/leap/platform_init/initializers.py index 3523c117..cc5f6e87 100644 --- a/src/leap/platform_init/initializers.py +++ b/src/leap/platform_init/initializers.py @@ -122,10 +122,15 @@ def check_missing():                  logger.warning(                      "Installer not found for platform %s." % (_system,))                  return -            install_missing_fun( -                # XXX maybe move constants to fun -                UPDOWN_BADEXEC_MSG, -                UPDOWN_NOTFOUND_MSG) + +            # XXX maybe move constants to fun +            ok = install_missing_fun(UPDOWN_BADEXEC_MSG, UPDOWN_NOTFOUND_MSG) +            if not ok: +                msg = QtGui.QMessageBox() +                msg.setWindowTitle(msg.tr("Problem installing files")) +                msg.setText(msg.tr('Some of the files could not be copied.')) +                msg.setIcon(QtGui.QMessageBox.Warning) +                msg.exec_()          elif ret == QtGui.QMessageBox.No:              logger.debug("Not installing missing scripts, " @@ -235,9 +240,12 @@ def _darwin_install_missing_scripts(badexec, notfound):      :type badexec: str      :param notfound: error for notifying missing path.      :type notfound: str +    :returns: True if the files could be copied successfully. +    :rtype: bool      """      # We expect to execute this from some way of bundle, since      # the up/down scripts should be put in place by the installer. +    success = False      installer_path = os.path.join(          os.getcwd(),          "..", @@ -261,7 +269,9 @@ def _darwin_install_missing_scripts(badexec, notfound):              ret = subprocess.call(                  cmdline, stdout=subprocess.PIPE,                  shell=True) -            assert([ret])  # happy flakes +            success = ret == 0 +            if not success: +                logger.error("Install missing scripts failed.")          except Exception as exc:              logger.error(badexec)              logger.error("Error was: %r" % (exc,)) @@ -274,6 +284,8 @@ def _darwin_install_missing_scripts(badexec, notfound):          logger.error(notfound)          logger.debug('path searched: %s' % (installer_path,)) +    return success +  def DarwinInitializer():      """ @@ -339,10 +351,11 @@ def _linux_install_missing_scripts(badexec, notfound):      :type badexec: str      :param notfound: error for notifying missing path.      :type notfound: str +    :returns: True if the files could be copied successfully. +    :rtype: bool      """ -    installer_path = os.path.join( -        os.getcwd(), -        "apps", "eip", "files") +    success = False +    installer_path = os.path.join(os.getcwd(), "apps", "eip", "files")      launcher = vpnlaunchers.LinuxVPNLauncher      # XXX refactor with darwin, same block. @@ -370,7 +383,9 @@ def _linux_install_missing_scripts(badexec, notfound):              ret = subprocess.call(                  cmdline, stdout=subprocess.PIPE,                  shell=True) -            assert([ret])  # happy flakes +            success = ret == 0 +            if not success: +                logger.error("Install missing scripts failed.")          except Exception as exc:              logger.error(badexec)              logger.error("Error was: %r" % (exc,)) @@ -383,6 +398,8 @@ def _linux_install_missing_scripts(badexec, notfound):          logger.error(notfound)          logger.debug('path searched: %s' % (installer_path,)) +    return success +  def LinuxInitializer():      """ | 
