def test_download(self): """Test download.""" # NOTE(gigih): # this is the hash of google front page. # I think we can safely assume that the content # of google.com never changes (probably). # ...or not...changed on 5 Dec 2013 ... # ...and changed on 28 Apr 2014 by Tim to hash and url below # ...and changed on 9 Dec 2014 by Akbar to hash and url below # ...and changed on 16 Dec 2016 by Etienne to hash and url below unique_hash = '1fbe0165bd686a0aff8ab647ae255da6' url = 'http://www.google.com/images/srpr/logo11w.png' path = tempfile.mktemp() file_downloader = FileDownloader(url, path) try: result = file_downloader.download() except IOError as ex: raise IOError(ex) if result[0] is not True: _, error_message = result raise DownloadError(error_message) assert_hash_for_file(unique_hash, path)
def test_download(self): """Test download.""" manager = QNetworkAccessManager(PARENT) # NOTE(gigih): # this is the hash of google front page. # I think we can safely assume that the content # of google.com never changes (probably). # ...or not...changed on 5 Dec 2013 ... # ...and changed on 28 Apr 2014 by Tim to hash and url below # ...and change on 9 Des 2014 by Akbar to hash and url below unique_hash = '57e396baedfe1a034590339082b9abce' url = 'https://www.google.com/images/srpr/logo11w.png' path = tempfile.mktemp() file_downloader = FileDownloader( manager, url, path) try: result = file_downloader.download() except IOError as ex: raise IOError(ex) if result[0] is not True: _, error_message = result raise DownloadError(error_message) assert_hash_for_file(unique_hash, path)
def test_download(self): """Test download.""" manager = QNetworkAccessManager(PARENT) # NOTE(gigih): # this is the hash of google front page. # I think we can safely assume that the content # of google.com never changes (probably). # ...or not...changed on 5 Dec 2013 ... # ...and changed on 28 Apr 2014 by Tim to hash and url below # ...and change on 9 Des 2014 by Akbar to hash and url below unique_hash = '57e396baedfe1a034590339082b9abce' url = 'https://www.google.com/images/srpr/logo11w.png' path = tempfile.mktemp() file_downloader = FileDownloader(manager, url, path) try: result = file_downloader.download() except IOError as ex: raise IOError(ex) if result[0] is not True: _, error_message = result raise DownloadError(error_message) assert_hash_for_file(unique_hash, path)
def download(self, url, output_path): """Download file from API url and write to output path. :param url: URL of the API. :type url: str :param output_path: Path of output file, :type output_path: str """ request_failed_message = self.tr( "Can't access PetaBencana API: {source}").format( source=url) downloader = FileDownloader(url, output_path) result, message = downloader.download() if not result: display_warning_message_box( self, self.tr('Download error'), self.tr(request_failed_message + '\n' + message)) if result == QNetworkReply.OperationCanceledError: display_warning_message_box( self, self.tr('Download error'), self.tr(message))
def fetch_zip(self, url, output_path): """Download zip containing shp file and write to output_path. :param url: URL of the zip bundle. :type url: str :param output_path: Path of output file, :type output_path: str :raises: ImportDialogError - when network error occurred """ LOGGER.debug('Downloading file from URL: %s' % url) LOGGER.debug('Downloading to: %s' % output_path) self.progress_dialog.show() self.progress_dialog.setMaximum(100) self.progress_dialog.setValue(0) label_text = self.tr("Downloading shapefile") self.progress_dialog.setLabelText(label_text) # Download Process downloader = FileDownloader( self.network_manager, url, output_path, self.progress_dialog) try: result = downloader.download() except IOError as ex: raise IOError(ex) if result[0] is not True: _, error_message = result raise DownloadError(error_message)
def fetch_zip(url, output_path, feature_type, progress_dialog=None): """Download zip containing shp file and write to output_path. .. versionadded:: 3.2 :param url: URL of the zip bundle. :type url: str :param output_path: Path of output file, :type output_path: str :param feature_type: What kind of features should be downloaded. Currently 'buildings', 'building-points' or 'roads' are supported. :type feature_type: str :param progress_dialog: A progress dialog. :type progress_dialog: QProgressDialog :raises: ImportDialogError - when network error occurred """ LOGGER.debug('Downloading file from URL: %s' % url) LOGGER.debug('Downloading to: %s' % output_path) if progress_dialog: progress_dialog.show() # Infinite progress bar when the server is fetching data. # The progress bar will be updated with the file size later. progress_dialog.setMaximum(0) progress_dialog.setMinimum(0) progress_dialog.setValue(0) # Get a pretty label from feature_type, but not translatable label_feature_type = feature_type.replace('-', ' ') label_text = tr('Fetching %s' % label_feature_type) progress_dialog.setLabelText(label_text) # Set Proxy in web page proxy = get_proxy() network_manager = QNetworkAccessManager() if proxy is not None: network_manager.setProxy(proxy) # Download Process downloader = FileDownloader( network_manager, url, output_path, progress_dialog) try: result = downloader.download() except IOError as ex: raise IOError(ex) if result[0] is not True: _, error_message = result if result[0] == QNetworkReply.OperationCanceledError: raise CanceledImportDialogError(error_message) else: raise DownloadError(error_message)
def fetch_zip(url, output_path, feature_type, progress_dialog=None): """Download zip containing shp file and write to output_path. .. versionadded:: 3.2 :param url: URL of the zip bundle. :type url: str :param output_path: Path of output file, :type output_path: str :param feature_type: What kind of features should be downloaded. Currently 'buildings', 'building-points' or 'roads' are supported. :type feature_type: str :param progress_dialog: A progress dialog. :type progress_dialog: QProgressDialog :raises: ImportDialogError - when network error occurred """ LOGGER.debug('Downloading file from URL: %s' % url) LOGGER.debug('Downloading to: %s' % output_path) if progress_dialog: progress_dialog.show() # Infinite progress bar when the server is fetching data. # The progress bar will be updated with the file size later. progress_dialog.setMaximum(0) progress_dialog.setMinimum(0) progress_dialog.setValue(0) # Get a pretty label from feature_type, but not translatable label_feature_type = feature_type.replace('-', ' ') label_text = tr('Fetching %s' % label_feature_type) progress_dialog.setLabelText(label_text) # Set Proxy in web page proxy = get_proxy() network_manager = QNetworkAccessManager() if proxy is not None: network_manager.setProxy(proxy) # Download Process downloader = FileDownloader(network_manager, url, output_path, progress_dialog) try: result = downloader.download() except IOError as ex: raise IOError(ex) if result[0] is not True: _, error_message = result if result[0] == QNetworkReply.OperationCanceledError: raise CanceledImportDialogError(error_message) else: raise DownloadError(error_message)