def check_missing(): """ Check for the need of installing missing scripts, and raises a dialog to ask user for permission to do it. """ config = LeapSettings() complain_missing = False alert_missing = config.get_alert_missing_scripts() if alert_missing and not flags.STANDALONE: # We refuse to install missing stuff if not running with standalone # flag. Right now we rely on the flag alone, but we can disable this # by overwriting some constant from within the debian package. alert_missing = False complain_missing = True launcher = get_vpn_launcher() missing_scripts = launcher.missing_updown_scripts missing_other = launcher.missing_other_files logger.debug("MISSING OTHER: %s" % (str(missing_other()))) missing_some = missing_scripts() or missing_other() if alert_missing and missing_some: msg = get_missing_helpers_dialog() ret = msg.exec_() if ret == QtGui.QMessageBox.Yes: install_missing_fun = globals().get( "_%s_install_missing_scripts" % (_system.lower(),), None) if not install_missing_fun: logger.warning( "Installer not found for platform %s." % (_system,)) return # XXX maybe move constants to fun ok = install_missing_fun(HELPERS_BADEXEC_MSG, HELPERS_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, " "user decided to ignore our warning.") init_signals.eip_missing_helpers.emit() elif ret == QtGui.QMessageBox.Rejected: logger.debug( "Setting alert_missing_scripts to False, we will not " "ask again") config.set_alert_missing_scripts(False) if complain_missing and missing_some: missing = missing_scripts() + missing_other() msg = _get_missing_complain_dialog(missing) ret = msg.exec_()
def check_missing(): """ Checks for the need of installing missing scripts, and raises a dialog to ask user for permission to do it. """ config = LeapSettings() alert_missing = config.get_alert_missing_scripts() launcher = get_vpn_launcher() missing_scripts = launcher.missing_updown_scripts missing_other = launcher.missing_other_files if alert_missing and (missing_scripts() or missing_other()): msg = get_missing_updown_dialog() ret = msg.exec_() if ret == QtGui.QMessageBox.Yes: install_missing_fun = globals().get( "_%s_install_missing_scripts" % (_system.lower(),), None) if not install_missing_fun: logger.warning( "Installer not found for platform %s." % (_system,)) return # 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, " "user decided to ignore our warning.") elif ret == QtGui.QMessageBox.Rejected: logger.debug( "Setting alert_missing_scripts to False, we will not " "ask again") config.set_alert_missing_scripts(False)
def check_missing(): """ Check for the need of installing missing scripts, and raises a dialog to ask user for permission to do it. """ config = LeapSettings() complain_missing = False alert_missing = config.get_alert_missing_scripts() if alert_missing and not flags.STANDALONE: # We refuse to install missing stuff if not running with standalone # flag. Right now we rely on the flag alone, but we can disable this # by overwriting some constant from within the Debian package. alert_missing = False complain_missing = True launcher = get_vpn_launcher() missing_scripts = launcher.missing_updown_scripts() missing_other = launcher.missing_other_files() if missing_scripts: logger.warning("Missing scripts: %s" % (missing_scripts)) if missing_other: logger.warning("Missing other files: %s" % (missing_other)) missing_some = missing_scripts or missing_other if alert_missing and missing_some: msg = get_missing_helpers_dialog() ret = msg.exec_() if ret == QtGui.QMessageBox.Yes: install_missing_fun = globals().get( "_%s_install_missing_scripts" % (_system.lower(), ), None) if not install_missing_fun: logger.warning("Installer not found for platform %s." % (_system, )) return # XXX maybe move constants to fun ok = install_missing_fun(HELPERS_BADEXEC_MSG, HELPERS_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, " "user decided to ignore our warning.") init_signals.eip_missing_helpers.emit() elif ret == QtGui.QMessageBox.Rejected: logger.debug("Setting alert_missing_scripts to False, we will not " "ask again") init_signals.eip_missing_helpers.emit() config.set_alert_missing_scripts(False) if complain_missing and missing_some: missing = missing_scripts + missing_other msg = _get_missing_complain_dialog(missing) ret = msg.exec_() # If there is some missing file and we don't want to complain, we emit the # 'missing helpers' signal so the eip status can show that some files are # missing. if missing_some and not alert_missing and not complain_missing: init_signals.eip_missing_helpers.emit()