|
10 | 10 | Cookiecutter widget. |
11 | 11 | """ |
12 | 12 |
|
13 | | -import os |
14 | 13 | import sys |
15 | 14 | import tempfile |
16 | 15 | from collections import OrderedDict |
17 | 16 |
|
18 | | -try: |
19 | | - # See: spyder-ide/spyder#10221 |
20 | | - if os.environ.get("SSH_CONNECTION") is None: |
21 | | - import keyring |
22 | | -except Exception: |
23 | | - pass |
24 | | - |
25 | 17 | from github import BadCredentialsException, RateLimitExceededException |
26 | 18 | from jinja2 import Template |
27 | | -from qtpy import QtCore |
28 | | -from qtpy import QtWidgets |
| 19 | +import keyring |
| 20 | +from qtpy.QtCore import QProcess, QEventLoop, Signal |
| 21 | +from qtpy.QtWidgets import QFormLayout |
29 | 22 | from requests.exceptions import RetryError |
30 | 23 | from urllib3.exceptions import MaxRetryError |
31 | 24 |
|
@@ -62,13 +55,14 @@ class CookiecutterWidget(SpyderConfigPage): |
62 | 55 |
|
63 | 56 | CONF_SECTION = "project_explorer" |
64 | 57 |
|
65 | | - sig_validated = QtCore.Signal(int, str) |
| 58 | + sig_validated = Signal(int, str) |
66 | 59 | """ |
67 | 60 | This signal is emitted after validation has been executed. |
68 | 61 |
|
69 | 62 | It provides the process exit code and the output captured. |
70 | 63 | """ |
71 | | - sig_fatal_render = QtCore.Signal(bool) |
| 64 | + |
| 65 | + sig_fatal_render = Signal(bool) |
72 | 66 |
|
73 | 67 | def __init__(self, parent, project_path=None): |
74 | 68 | super().__init__(parent) |
@@ -130,7 +124,7 @@ def __init__(self, parent, project_path=None): |
130 | 124 | self._rendered_private_var = None |
131 | 125 |
|
132 | 126 | # Layout |
133 | | - self._form_layout = QtWidgets.QFormLayout() |
| 127 | + self._form_layout = QFormLayout() |
134 | 128 | self._form_layout.setFieldGrowthPolicy( |
135 | 129 | self._form_layout.AllNonFixedFieldsGrow |
136 | 130 | ) |
@@ -368,11 +362,11 @@ def validate(self): |
368 | 362 | if self._process is not None: |
369 | 363 | self._process.close() |
370 | 364 |
|
371 | | - self._process = QtCore.QProcess(self) |
| 365 | + self._process = QProcess(self) |
372 | 366 | self._process.setProgram(sys.executable) |
373 | 367 | self._process.setArguments([self._tempfile]) |
374 | 368 |
|
375 | | - loop = QtCore.QEventLoop() |
| 369 | + loop = QEventLoop(None) |
376 | 370 | self._process.finished.connect(loop.quit) |
377 | 371 | self._process.start() |
378 | 372 | loop.exec_() |
|
0 commit comments