5 |
5 |
6 """ |
6 """ |
7 Module implementing a network proxy factory. |
7 Module implementing a network proxy factory. |
8 """ |
8 """ |
9 |
9 |
10 import sys |
|
11 import os |
10 import os |
12 |
11 |
13 from PyQt4.QtCore import QUrl, Qt, QCoreApplication |
12 from PyQt4.QtCore import QUrl, Qt, QCoreApplication |
14 from PyQt4.QtGui import QDialog |
13 from PyQt4.QtGui import QDialog |
15 from PyQt4.QtNetwork import QNetworkProxyFactory, QNetworkProxy, QNetworkProxyQuery |
14 from PyQt4.QtNetwork import QNetworkProxyFactory, QNetworkProxy, QNetworkProxyQuery |
82 if query.queryType() == QNetworkProxyQuery.UrlRequest and \ |
82 if query.queryType() == QNetworkProxyQuery.UrlRequest and \ |
83 query.protocolTag() in ["http", "https", "ftp"] and \ |
83 query.protocolTag() in ["http", "https", "ftp"] and \ |
84 Preferences.getUI("UseProxy"): |
84 Preferences.getUI("UseProxy"): |
85 if Preferences.getUI("UseSystemProxy"): |
85 if Preferences.getUI("UseSystemProxy"): |
86 proxyList = QNetworkProxyFactory.systemProxyForQuery(query) |
86 proxyList = QNetworkProxyFactory.systemProxyForQuery(query) |
87 if sys.platform not in ["darwin", "nt"] and \ |
87 if (not Globals.isWindowsPlatform() and \ |
|
88 not Globals.isMacPlatform()) and \ |
88 len(proxyList) == 1 and \ |
89 len(proxyList) == 1 and \ |
89 proxyList[0].type() == QNetworkProxy.NoProxy: |
90 proxyList[0].type() == QNetworkProxy.NoProxy: |
90 # try it the Python way |
91 # try it the Python way |
91 # scan the environment for variables named <scheme>_proxy |
92 # scan the environment for variables named <scheme>_proxy |
92 # scan over whole environment to make this case insensitive |
93 # scan over whole environment to make this case insensitive |