7 Module implementing a network reply class for FTP resources. |
7 Module implementing a network reply class for FTP resources. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt4.QtCore import QByteArray, QIODevice, Qt, QUrl, QTimer, QBuffer |
10 from PyQt4.QtCore import QByteArray, QIODevice, Qt, QUrl, QTimer, QBuffer |
11 from PyQt4.QtGui import QPixmap |
11 from PyQt4.QtGui import QPixmap |
12 from PyQt4.QtNetwork import QFtp, QNetworkReply, QNetworkRequest, QUrlInfo |
12 from PyQt4.QtNetwork import QFtp, QNetworkReply, QNetworkRequest, QUrlInfo, \ |
|
13 QNetworkProxyQuery, QNetworkProxy |
13 from PyQt4.QtWebKit import QWebSettings |
14 from PyQt4.QtWebKit import QWebSettings |
14 |
15 |
15 import UI.PixmapCache |
16 import UI.PixmapCache |
16 |
17 |
17 ftpListPage_html = """\ |
18 ftpListPage_html = """\ |
111 |
112 |
112 self.__items = [] |
113 self.__items = [] |
113 self.__content = QByteArray() |
114 self.__content = QByteArray() |
114 self.__units = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"] |
115 self.__units = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"] |
115 |
116 |
|
117 if url.path() == "": |
|
118 url.setPath("/") |
116 self.setUrl(url) |
119 self.setUrl(url) |
|
120 # do proxy setup |
|
121 query = QNetworkProxyQuery(url) |
|
122 proxyList = parent.proxyFactory().queryProxy(query) |
|
123 ftpProxy = QNetworkProxy() |
|
124 for proxy in proxyList: |
|
125 if proxy.type() == QNetworkProxy.NoProxy or \ |
|
126 proxy.type() == QNetworkProxy.FtpCachingProxy: |
|
127 ftpProxy = proxy |
|
128 break |
|
129 if ftpProxy.type() == QNetworkProxy.DefaultProxy: |
|
130 self.setError(QNetworkReply.ProxyNotFoundError, |
|
131 self.trUtf8("No suitable proxy found.")) |
|
132 QTimer.singleShot(0, self.__errorSignals) |
|
133 return |
|
134 elif ftpProxy.type() == QNetworkProxy.FtpCachingProxy: |
|
135 self.__ftp.setProxy(ftpProxy.hostName(), ftpProxy.port()) |
|
136 |
117 QTimer.singleShot(0, self.__connectToHost) |
137 QTimer.singleShot(0, self.__connectToHost) |
|
138 |
|
139 def __errorSignals(self): |
|
140 """ |
|
141 Private slot to send signal for errors during initialisation. |
|
142 """ |
|
143 self.error.emit(QNetworkReply.ProxyNotFoundError) |
|
144 self.finished.emit() |
118 |
145 |
119 def abort(self): |
146 def abort(self): |
120 """ |
147 """ |
121 Public slot to abort the operation. |
148 Public slot to abort the operation. |
122 """ |
149 """ |