6 """ |
6 """ |
7 Module implementing a network manager class. |
7 Module implementing a network manager class. |
8 """ |
8 """ |
9 |
9 |
10 import json |
10 import json |
|
11 import contextlib |
11 |
12 |
12 from PyQt5.QtCore import pyqtSignal, QByteArray |
13 from PyQt5.QtCore import pyqtSignal, QByteArray |
13 from PyQt5.QtWidgets import QStyle, QDialog |
14 from PyQt5.QtWidgets import QStyle, QDialog |
14 from PyQt5.QtNetwork import ( |
15 from PyQt5.QtNetwork import ( |
15 QNetworkAccessManager, QNetworkProxy, QNetworkProxyFactory, QNetworkRequest |
16 QNetworkAccessManager, QNetworkProxy, QNetworkProxyFactory, QNetworkRequest |
46 Constructor |
47 Constructor |
47 |
48 |
48 @param engine reference to the help engine (QHelpEngine) |
49 @param engine reference to the help engine (QHelpEngine) |
49 @param parent reference to the parent object (QObject) |
50 @param parent reference to the parent object (QObject) |
50 """ |
51 """ |
51 super(NetworkManager, self).__init__(parent) |
52 super().__init__(parent) |
52 |
53 |
53 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory |
54 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory |
54 |
55 |
55 self.__proxyFactory = E5NetworkProxyFactory() |
56 self.__proxyFactory = E5NetworkProxyFactory() |
56 if Preferences.getUI("UseSystemProxy"): |
57 if Preferences.getUI("UseSystemProxy"): |
278 "{0}://{1}".format(url.scheme(), url.authority()) |
276 "{0}://{1}".format(url.scheme(), url.authority()) |
279 ) |
277 ) |
280 realm = auth.realm() |
278 realm = auth.realm() |
281 if not realm and 'realm' in auth.options(): |
279 if not realm and 'realm' in auth.options(): |
282 realm = auth.option("realm") |
280 realm = auth.option("realm") |
283 if realm: |
281 info = ( |
284 info = self.tr( |
282 self.tr("<b>Enter username and password for '{0}', realm '{1}'</b>" |
285 "<b>Enter username and password for '{0}', realm '{1}'</b>" |
283 ).format(urlRoot, realm) |
286 ).format(urlRoot, realm) |
284 if realm else |
287 else: |
285 self.tr("<b>Enter username and password for '{0}'</b>" |
288 info = self.tr( |
286 ).format(urlRoot) |
289 "<b>Enter username and password for '{0}'</b>" |
287 ) |
290 ).format(urlRoot) |
|
291 |
288 |
292 from UI.AuthenticationDialog import AuthenticationDialog |
289 from UI.AuthenticationDialog import AuthenticationDialog |
293 import WebBrowser.WebBrowserWindow |
290 import WebBrowser.WebBrowserWindow |
294 |
291 |
295 dlg = AuthenticationDialog(info, auth.user(), |
292 dlg = AuthenticationDialog(info, auth.user(), |
427 req.setAttribute( |
424 req.setAttribute( |
428 QNetworkRequest.Attribute.SpdyAllowedAttribute, True) |
425 QNetworkRequest.Attribute.SpdyAllowedAttribute, True) |
429 req.setAttribute( |
426 req.setAttribute( |
430 QNetworkRequest.Attribute.FollowRedirectsAttribute, True) |
427 QNetworkRequest.Attribute.FollowRedirectsAttribute, True) |
431 |
428 |
432 return super(NetworkManager, self).createRequest(op, req, data) |
429 return super().createRequest(op, req, data) |