Mon, 02 Apr 2018 12:04:18 +0200
Merged with default branch to prepare new release.
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
3 | # Copyright (c) 2010 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
4 | # |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
5 | |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
6 | """ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
7 | Module implementing a network proxy factory. |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
8 | """ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3058
diff
changeset
|
10 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2401
diff
changeset
|
11 | |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
12 | import os |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
13 | |
4351
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
14 | from PyQt5.QtCore import Qt, QUrl, QCoreApplication, QRegExp |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
15 | from PyQt5.QtWidgets import QDialog |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
16 | from PyQt5.QtNetwork import QNetworkProxyFactory, QNetworkProxy, \ |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
17 | QNetworkProxyQuery |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
18 | |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
319
diff
changeset
|
19 | from E5Gui import E5MessageBox |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
319
diff
changeset
|
20 | |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
21 | import Preferences |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
22 | import Globals |
2080
4b33165dd55b
Made the third set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1936
diff
changeset
|
23 | import Utilities |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
24 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
25 | |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
26 | def schemeFromProxyType(proxyType): |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
27 | """ |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
28 | Module function to determine the scheme name from the proxy type. |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
29 | |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
30 | @param proxyType type of the proxy (QNetworkProxy.ProxyType) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
31 | @return scheme (string, one of Http, Https, Ftp) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
32 | """ |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
33 | scheme = "" |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
34 | if proxyType == QNetworkProxy.HttpProxy: |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
35 | scheme = "Http" |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
36 | elif proxyType == QNetworkProxy.HttpCachingProxy: |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
37 | scheme = "Https" |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
38 | elif proxyType == QNetworkProxy.FtpCachingProxy: |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
39 | scheme = "Ftp" |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
40 | elif proxyType == QNetworkProxy.NoProxy: |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
41 | scheme = "NoProxy" |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
42 | return scheme |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
43 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
44 | |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
45 | def proxyAuthenticationRequired(proxy, auth): |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
46 | """ |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
47 | Module slot to handle a proxy authentication request. |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
48 | |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
49 | @param proxy reference to the proxy object (QNetworkProxy) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
50 | @param auth reference to the authenticator object (QAuthenticator) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
51 | """ |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
52 | info = QCoreApplication.translate( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
53 | "E5NetworkProxyFactory", |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
54 | "<b>Connect to proxy '{0}' using:</b>")\ |
2080
4b33165dd55b
Made the third set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1936
diff
changeset
|
55 | .format(Utilities.html_encode(proxy.hostName())) |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
56 | |
2401
4f428de32b69
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
57 | from UI.AuthenticationDialog import AuthenticationDialog |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
58 | dlg = AuthenticationDialog(info, proxy.user(), True) |
1936
536b88d73d53
Little enhancement to the network proxy factory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1932
diff
changeset
|
59 | dlg.setData(proxy.user(), proxy.password()) |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
60 | if dlg.exec_() == QDialog.Accepted: |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
61 | username, password = dlg.getData() |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
62 | auth.setUser(username) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
63 | auth.setPassword(password) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
64 | if dlg.shallSave(): |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
65 | scheme = schemeFromProxyType(proxy.type()) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
66 | if scheme and scheme != "NoProxy": |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
67 | Preferences.setUI("ProxyUser/{0}".format(scheme), username) |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
68 | Preferences.setUI("ProxyPassword/{0}".format(scheme), password) |
1936
536b88d73d53
Little enhancement to the network proxy factory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1932
diff
changeset
|
69 | proxy.setUser(username) |
536b88d73d53
Little enhancement to the network proxy factory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1932
diff
changeset
|
70 | proxy.setPassword(password) |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
71 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
72 | |
4351
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
73 | class HostnameMatcher(object): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
74 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
75 | Class implementing a matcher for host names. |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
76 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
77 | def __init__(self, pattern): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
78 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
79 | Constructor |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
80 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
81 | @param pattern pattern to be matched against |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
82 | @type str |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
83 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
84 | self.__regExp = None |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
85 | self.setPattern(pattern) |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
86 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
87 | def setPattern(self, pattern): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
88 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
89 | Public method to set the match pattern. |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
90 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
91 | @param pattern pattern to be matched against |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
92 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
93 | self.__pattern = pattern |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
94 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
95 | if "?" in pattern or "*" in pattern: |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
96 | regexp = "^.*{0}.*$".format( |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
97 | pattern |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
98 | .replace(".", "\\.") |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
99 | .replace("*", ".*") |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
100 | .replace("?", ".") |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
101 | ) |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
102 | self.__regExp = QRegExp(regexp, Qt.CaseInsensitive) |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
103 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
104 | def pattern(self): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
105 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
106 | Public method to get the match pattern. |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
107 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
108 | @return match pattern |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
109 | @rtype str |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
110 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
111 | return self.__pattern |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
112 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
113 | def match(self, host): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
114 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
115 | Public method to test the given string. |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
116 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
117 | @param host host name to be matched |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
118 | @type str |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
119 | @return flag indicating a successful match |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
120 | @rtype bool |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
121 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
122 | if self.__regExp is None: |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
123 | return self.__pattern in host |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
124 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
125 | return self.__regExp.indexIn(host) > -1 |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
126 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
127 | |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
128 | class E5NetworkProxyFactory(QNetworkProxyFactory): |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
129 | """ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
130 | Class implementing a network proxy factory. |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
131 | """ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
132 | def __init__(self): |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
133 | """ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
134 | Constructor |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
135 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2401
diff
changeset
|
136 | super(E5NetworkProxyFactory, self).__init__() |
4351
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
137 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
138 | self.__hostnameMatchers = [] |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
139 | self.__exceptions = "" |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
140 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
141 | def __setExceptions(self, exceptions): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
142 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
143 | Private method to set the host name exceptions. |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
144 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
145 | @param exceptions list of exceptions separated by ',' |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
146 | @type str |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
147 | """ |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
148 | self.__hostnameMatchers = [] |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
149 | self.__exceptions = exceptions |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
150 | for exception in self.__exceptions.split(","): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
151 | self.__hostnameMatchers.append(HostnameMatcher(exception.strip())) |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
152 | |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
153 | def queryProxy(self, query): |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
154 | """ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
155 | Public method to determine a proxy for a given query. |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
156 | |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
157 | @param query reference to the query object (QNetworkProxyQuery) |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
158 | @return list of proxies in order of preference (list of QNetworkProxy) |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
159 | """ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
160 | if query.queryType() == QNetworkProxyQuery.UrlRequest and \ |
4351
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
161 | query.protocolTag() in ["http", "https", "ftp"]: |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
162 | # use proxy at all ? |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
163 | if not Preferences.getUI("UseProxy"): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
164 | return [QNetworkProxy(QNetworkProxy.NoProxy)] |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
165 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
166 | # test for exceptions |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
167 | exceptions = Preferences.getUI("ProxyExceptions") |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
168 | if exceptions != self.__exceptions: |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
169 | self.__setExceptions(exceptions) |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
170 | urlHost = query.url().host() |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
171 | for matcher in self.__hostnameMatchers: |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
172 | if matcher.match(urlHost): |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
173 | return [QNetworkProxy(QNetworkProxy.NoProxy)] |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
174 | |
ace015b19c0f
Implemented the proxy exception support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4350
diff
changeset
|
175 | # determine proxy |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
176 | if Preferences.getUI("UseSystemProxy"): |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
177 | proxyList = QNetworkProxyFactory.systemProxyForQuery(query) |
1363
d650915a903c
Some changes for Mac computers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
178 | if not Globals.isWindowsPlatform() and \ |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
179 | len(proxyList) == 1 and \ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
180 | proxyList[0].type() == QNetworkProxy.NoProxy: |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
181 | # try it the Python way |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
182 | # scan the environment for variables named <scheme>_proxy |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
183 | # scan over whole environment to make this case insensitive |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
184 | for name, value in os.environ.items(): |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
185 | name = name.lower() |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
186 | if value and name[-6:] == '_proxy' and \ |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
187 | name[:-6] == query.protocolTag().lower(): |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
188 | url = QUrl(value) |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
189 | if url.scheme() == "http": |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
190 | proxyType = QNetworkProxy.HttpProxy |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
191 | elif url.scheme() == "https": |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
192 | proxyType = QNetworkProxy.HttpCachingProxy |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
193 | elif url.scheme() == "ftp": |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
194 | proxyType = QNetworkProxy.FtpCachingProxy |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
195 | else: |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
196 | proxyType = QNetworkProxy.HttpProxy |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
197 | proxy = QNetworkProxy( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
198 | proxyType, url.host(), url.port(), |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
199 | url.userName(), url.password()) |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
200 | proxyList = [proxy] |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
201 | break |
317
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
202 | if proxyList: |
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
203 | scheme = schemeFromProxyType(proxyList[0].type()) |
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
204 | if scheme == "": |
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
205 | scheme = "Http" |
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
206 | if scheme != "NoProxy": |
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
207 | proxyList[0].setUser( |
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
208 | Preferences.getUI("ProxyUser/{0}".format(scheme))) |
f6b0163a21be
Fixed an issue in the network proxy factory class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
289
diff
changeset
|
209 | proxyList[0].setPassword( |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
210 | Preferences.getUI( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
211 | "ProxyPassword/{0}".format(scheme))) |
319
09f456ec6fcf
Fixed a few issues in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
317
diff
changeset
|
212 | return proxyList |
09f456ec6fcf
Fixed a few issues in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
317
diff
changeset
|
213 | else: |
09f456ec6fcf
Fixed a few issues in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
317
diff
changeset
|
214 | return [QNetworkProxy(QNetworkProxy.NoProxy)] |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
215 | else: |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
216 | if Preferences.getUI("UseHttpProxyForAll"): |
1058
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
217 | protocolKey = "Http" |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
218 | else: |
1058
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
219 | protocolKey = query.protocolTag().capitalize() |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
220 | host = Preferences.getUI("ProxyHost/{0}".format(protocolKey)) |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
221 | if not host: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2990
diff
changeset
|
222 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2990
diff
changeset
|
223 | None, |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
224 | QCoreApplication.translate( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
225 | "E5NetworkProxyFactory", |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
226 | "Proxy Configuration Error"), |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
227 | QCoreApplication.translate( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
228 | "E5NetworkProxyFactory", |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
229 | """Proxy usage was activated""" |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
230 | """ but no proxy host for protocol""" |
1058
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
231 | """ '{0}' configured.""").format(protocolKey)) |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
232 | return [QNetworkProxy(QNetworkProxy.DefaultProxy)] |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
233 | else: |
1058
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
234 | if protocolKey in ["Http", "Https", "Ftp"]: |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
235 | if query.protocolTag() == "ftp": |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
236 | proxyType = QNetworkProxy.FtpCachingProxy |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
237 | elif query.protocolTag() == "https": |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
238 | proxyType = QNetworkProxy.HttpCachingProxy |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
239 | else: |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
240 | proxyType = QNetworkProxy.HttpProxy |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
241 | proxy = QNetworkProxy( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
242 | proxyType, host, |
1058
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
243 | Preferences.getUI("ProxyPort/" + protocolKey), |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
244 | Preferences.getUI("ProxyUser/" + protocolKey), |
fa1c0fa31041
Fixed an issue in the web browser related to selecting the correct proxy type.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
245 | Preferences.getUI("ProxyPassword/" + protocolKey)) |
289
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
246 | else: |
baf4c1354c6a
Extended the proxy handling to HTTPS and FTP.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
286
diff
changeset
|
247 | proxy = QNetworkProxy(QNetworkProxy.DefaultProxy) |
286
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
248 | return [proxy, QNetworkProxy(QNetworkProxy.DefaultProxy)] |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
249 | else: |
652f5159f1c3
Prepared to have individual proxies per scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
283
diff
changeset
|
250 | return [QNetworkProxy(QNetworkProxy.NoProxy)] |