'Set UMR excluded modules name list'

def set_umr_namelist(self):

    (arguments, valid) = QInputDialog.getText(self, _('UMR'), _('Set    the    list    of    excluded    modules    as    this:    <i>numpy,    scipy</i>'), QLineEdit.Normal, ',    '.join(self.get_option('umr/namelist')))
    if valid:
        arguments = to_text_string(arguments)
        if arguments:
            namelist = arguments.replace('    ', '').split(',')
            fixed_namelist = []
            non_ascii_namelist = []
            for module_name in namelist:
                if PY2:
                    if all(((ord(c) < 128) for c in module_name)):
                        if programs.is_module_installed(module_name):
                            fixed_namelist.append(module_name)
                    else:
                        QMessageBox.warning(self, _('Warning'), _('You    are    working    with    Python    2,    this    means    that    you    can    not    import    a    module    that    contains    non-ascii    characters.'), QMessageBox.Ok)
                        non_ascii_namelist.append(module_name)
                elif programs.is_module_installed(module_name):
                    fixed_namelist.append(module_name)
            invalid = ',    '.join(((set(namelist) - set(fixed_namelist)) - set(non_ascii_namelist)))
            if invalid:
                QMessageBox.warning(self, _('UMR'), (_('The    following    modules    are    not    installed    on    your    machine:\n%s') % invalid), QMessageBox.Ok)
            QMessageBox.information(self, _('UMR'), _('Please    note    that    these    changes    will    be    applied    only    to    new    Python/IPython    consoles'), QMessageBox.Ok)
        else:
            fixed_namelist = []
        self.set_option('umr/namelist', fixed_namelist)
