code: def download(self, url, output_path):
          
          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))
docs: 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