Exemple #1
0
    def import_pythonpath(self):
        """Import from PYTHONPATH environment variable"""
        env_pypath = os.environ.get('PYTHONPATH', '')

        if env_pypath:
            env_pypath = env_pypath.split(os.pathsep)

            dlg = QDialog(self)
            dlg.setWindowTitle(_("PYTHONPATH"))
            dlg.setWindowIcon(ima.icon('pythonpath'))
            dlg.setAttribute(Qt.WA_DeleteOnClose)
            dlg.setMinimumWidth(400)

            label = QLabel("The following paths from your PYTHONPATH "
                           "environment variable will be imported.")
            listw = QListWidget(dlg)
            listw.addItems(env_pypath)

            bbox = QDialogButtonBox(QDialogButtonBox.Ok
                                    | QDialogButtonBox.Cancel)
            bbox.accepted.connect(dlg.accept)
            bbox.rejected.connect(dlg.reject)

            layout = QVBoxLayout()
            layout.addWidget(label)
            layout.addWidget(listw)
            layout.addWidget(bbox)
            dlg.setLayout(layout)

            if dlg.exec():
                spy_pypath = self.get_path_dict()
                n = len(spy_pypath)

                for path in reversed(env_pypath):
                    if (path in spy_pypath) or not self.check_path(path):
                        continue
                    item = self._create_item(path)
                    self.listwidget.insertItem(n, item)

                self.refresh()
        else:
            QMessageBox.information(
                self, _("PYTHONPATH"),
                _("Your <tt>PYTHONPATH</tt> environment variable is empty, so "
                  "there is nothing to import."), QMessageBox.Ok)