def __init__(self, parent=None): super(Downloader, self).__init__(parent) self.manager = QNetworkAccessManager() self.url = 'http://localhost:9998/jpg/image.jpg' self.request = QNetworkRequest() self.request.setUrl(QUrl(self.url)) self.buffer = QByteArray() self.reply = None
def __init__(self, chunk_size=1024): super(_DownloadAPI, self).__init__() self._chunk_size = chunk_size self._head_requests = {} self._get_requests = {} self._paths = {} self._workers = {} self._manager = QNetworkAccessManager(self) self._timer = QTimer() # Setup self._timer.setInterval(1000) self._timer.timeout.connect(self._clean) # Signals self._manager.finished.connect(self._request_finished) self._manager.sslErrors.connect(self._handle_ssl_errors)
def loadTile(self, x, y, zoom, url): if self._manager is None: self._manager = QNetworkAccessManager(parent=self) self._manager.finished.connect(self.handleNetworkData) cache = QNetworkDiskCache() cacheDir = getCacheFolder() cache.setCacheDirectory(cacheDir) cache.setMaximumCacheSize(self._cacheSize) self._manager.setCache(cache) key = (x, y, zoom) url = QUrl(url) if key not in self._tileInDownload: # Request the image to the map service request = QNetworkRequest(url=url) request.setRawHeader(b'User-Agent', self._userAgent) request.setAttribute(QNetworkRequest.User, key) request.setAttribute(QNetworkRequest.CacheLoadControlAttribute, QNetworkRequest.PreferCache) self._tileInDownload[key] = self._manager.get(request)
def loadTile(self, x, y, zoom, url, cache_dir): if self._manager is None: self._manager = QNetworkAccessManager(parent=self) self._manager.finished.connect(self.handleNetworkData) self._cache = './tiles' key = (x, y, zoom) url = QUrl(url) #base = parsed_url.netloc if key not in self._tileInDownload: path = os.path.join(self._cache, str(cache_dir), str(zoom), str(x), str(y) + '.png') if os.path.exists(path): self.tileLoaded.emit(x, y, zoom, open(path, 'rb').read()) else: # Request the image to the map service request = QNetworkRequest(url=url) request.setRawHeader(b'User-Agent', self._userAgent) request.setAttribute(QNetworkRequest.User, [key, cache_dir]) request.setAttribute(QNetworkRequest.CacheLoadControlAttribute, QNetworkRequest.PreferCache) self._tileInDownload[key] = self._manager.get(request)
def __init__(self, chunk_size=1024, load_rc_func=None): """Download API based on QNetworkAccessManager.""" super(_DownloadAPI, self).__init__() self._chunk_size = chunk_size self._head_requests = {} self._get_requests = {} self._paths = {} self._workers = {} self._load_rc_func = load_rc_func self._manager = QNetworkAccessManager(self) self._proxy_factory = NetworkProxyFactory(load_rc_func=load_rc_func) self._timer = QTimer() # Setup self._manager.setProxyFactory(self._proxy_factory) self._timer.setInterval(1000) self._timer.timeout.connect(self._clean) # Signals self._manager.finished.connect(self._request_finished) self._manager.sslErrors.connect(self._handle_ssl_errors) self._manager.proxyAuthenticationRequired.connect( self._handle_proxy_auth)