8 """ |
8 """ |
9 |
9 |
10 import os |
10 import os |
11 import sys |
11 import sys |
12 import json |
12 import json |
|
13 import contextlib |
13 |
14 |
14 from PyQt5.QtCore import pyqtSlot, QObject, QProcess, QUrl, QCoreApplication |
15 from PyQt5.QtCore import pyqtSlot, QObject, QProcess, QUrl, QCoreApplication |
15 from PyQt5.QtWidgets import QDialog, QInputDialog, QLineEdit |
16 from PyQt5.QtWidgets import QDialog, QInputDialog, QLineEdit |
16 from PyQt5.QtNetwork import ( |
17 from PyQt5.QtNetwork import ( |
17 QNetworkAccessManager, QNetworkRequest, QNetworkReply |
18 QNetworkAccessManager, QNetworkRequest, QNetworkReply |
125 # Unix: ~/.config/pip/pip.conf |
126 # Unix: ~/.config/pip/pip.conf |
126 # OS X: ~/Library/Application Support/pip/pip.conf |
127 # OS X: ~/Library/Application Support/pip/pip.conf |
127 # Windows: %APPDATA%\pip\pip.ini |
128 # Windows: %APPDATA%\pip\pip.ini |
128 # Environment: $PIP_CONFIG_FILE |
129 # Environment: $PIP_CONFIG_FILE |
129 |
130 |
130 try: |
131 with contextlib.suppress(KeyError): |
131 return os.environ["PIP_CONFIG_FILE"] |
132 return os.environ["PIP_CONFIG_FILE"] |
132 except KeyError: |
|
133 pass |
|
134 |
133 |
135 if Globals.isWindowsPlatform(): |
134 if Globals.isWindowsPlatform(): |
136 config = os.path.join(os.environ["APPDATA"], "pip", "pip.ini") |
135 config = os.path.join(os.environ["APPDATA"], "pip", "pip.ini") |
137 elif Globals.isMacPlatform(): |
136 elif Globals.isMacPlatform(): |
138 config = os.path.expanduser( |
137 config = os.path.expanduser( |
681 reply.deleteLater() |
680 reply.deleteLater() |
682 if reply.error() == QNetworkReply.NetworkError.NoError: |
681 if reply.error() == QNetworkReply.NetworkError.NoError: |
683 data = str(reply.readAll(), |
682 data = str(reply.readAll(), |
684 Preferences.getSystem("IOEncoding"), |
683 Preferences.getSystem("IOEncoding"), |
685 'replace') |
684 'replace') |
686 try: |
685 with contextlib.suppress(Exception): |
687 result = json.loads(data) |
686 result = json.loads(data) |
688 except Exception: # secok |
|
689 # ignore JSON exceptions |
|
690 pass |
|
691 |
687 |
692 return result |
688 return result |
693 |
689 |
694 ####################################################################### |
690 ####################################################################### |
695 ## Cache handling methods below |
691 ## Cache handling methods below |