proxy patch from richard

This commit is contained in:
Damien Elmes 2009-06-25 04:22:11 +09:00
parent e78689fe35
commit 33b3c65ad8

View file

@ -2751,18 +2751,45 @@ Consider backing up your media directory first."""))
########################################################################## ##########################################################################
def setupProxy(self): def setupProxy(self):
from PyQt4.QtNetwork import QNetworkProxy from PyQt4.QtNetwork import QNetworkProxy, QNetworkProxyFactory, QNetworkProxyQuery
class MyQNetworkProxyFactory(QNetworkProxyFactory):
def __init__(self, host, port, user, password):
QNetworkProxyFactory.__init__(self)
self.host=host
self.port=port
self.user=user
self.password=password
def makeProxy(self, proxyType):
proxy = QNetworkProxy()
proxy.setType(proxyType)
proxy.setHostName(self.host)
proxy.setPort(self.port)
if self.user:
proxy.setUser(self.user)
proxy.setPassword(self.password)
return proxy
def queryProxy(self, proxyQuery):
proxyList = []
if self.host:
proxyList.append(self.makeProxy(QNetworkProxy.HttpProxy))
proxyList.append(self.makeProxy(QNetworkProxy.HttpCachingProxy))
proxyList += QNetworkProxyFactory.systemProxyForQuery(proxyQuery)
return proxyList
import urllib2 import urllib2
if self.config['proxyHost']: if self.config['proxyHost']:
# qt # qt
proxy = QNetworkProxy() QNetworkProxyFactory.setApplicationProxyFactory(
proxy.setType(QNetworkProxy.HttpProxy) MyQNetworkProxyFactory(
proxy.setHostName(self.config['proxyHost']) self.config['proxyHost'],
proxy.setPort(self.config['proxyPort']) self.config['proxyPort'],
if self.config['proxyUser']: self.config['proxyUser'],
proxy.setUser(self.config['proxyUser']) self.config['proxyPass']
proxy.setPassword(self.config['proxyPass']) )
QNetworkProxy.setApplicationProxy(proxy) )
# python # python
proxy = "http://" proxy = "http://"
if self.config['proxyUser']: if self.config['proxyUser']: