Helpviewer/Download/DownloadItem.py

changeset 3034
7ce719013078
parent 3002
6ffc581f00f1
child 3035
36e9f388958b
equal deleted inserted replaced
3033:58fe260e7469 3034:7ce719013078
218 if not fileName: 218 if not fileName:
219 self.progressBar.setVisible(False) 219 self.progressBar.setVisible(False)
220 self.__reply.close() 220 self.__reply.close()
221 self.on_stopButton_clicked() 221 self.on_stopButton_clicked()
222 self.filenameLabel.setText( 222 self.filenameLabel.setText(
223 self.trUtf8("Download canceled: {0}")\ 223 self.trUtf8("Download canceled: {0}")
224 .format(QFileInfo(defaultFileName).fileName())) 224 .format(QFileInfo(defaultFileName).fileName()))
225 self.__canceledFileSelect = True 225 self.__canceledFileSelect = True
226 return 226 return
227 227
228 fileInfo = QFileInfo(fileName) 228 fileInfo = QFileInfo(fileName)
238 if not saveDirPath.exists(): 238 if not saveDirPath.exists():
239 if not saveDirPath.mkpath(saveDirPath.absolutePath()): 239 if not saveDirPath.mkpath(saveDirPath.absolutePath()):
240 self.progressBar.setVisible(False) 240 self.progressBar.setVisible(False)
241 self.on_stopButton_clicked() 241 self.on_stopButton_clicked()
242 self.infoLabel.setText(self.trUtf8( 242 self.infoLabel.setText(self.trUtf8(
243 "Download directory ({0}) couldn't be created.")\ 243 "Download directory ({0}) couldn't be created.")
244 .format(saveDirPath.absolutePath())) 244 .format(saveDirPath.absolutePath()))
245 return 245 return
246 246
247 self.filenameLabel.setText(QFileInfo(self.__fileName).fileName()) 247 self.filenameLabel.setText(QFileInfo(self.__fileName).fileName())
248 if self.__requestFilename: 248 if self.__requestFilename:
414 # in case someone else has already put a file there 414 # in case someone else has already put a file there
415 if not self.__requestFilename: 415 if not self.__requestFilename:
416 self.__getFileName() 416 self.__getFileName()
417 if not self.__output.open(QIODevice.WriteOnly): 417 if not self.__output.open(QIODevice.WriteOnly):
418 self.infoLabel.setText( 418 self.infoLabel.setText(
419 self.trUtf8("Error opening save file: {0}")\ 419 self.trUtf8("Error opening save file: {0}")
420 .format(self.__output.errorString())) 420 .format(self.__output.errorString()))
421 self.on_stopButton_clicked() 421 self.on_stopButton_clicked()
422 self.statusChanged.emit() 422 self.statusChanged.emit()
423 return 423 return
424 self.statusChanged.emit() 424 self.statusChanged.emit()
426 buffer = self.__reply.readAll() 426 buffer = self.__reply.readAll()
427 self.__sha1Hash.addData(buffer) 427 self.__sha1Hash.addData(buffer)
428 self.__md5Hash.addData(buffer) 428 self.__md5Hash.addData(buffer)
429 bytesWritten = self.__output.write(buffer) 429 bytesWritten = self.__output.write(buffer)
430 if bytesWritten == -1: 430 if bytesWritten == -1:
431 self.infoLabel.setText(self.trUtf8("Error saving: {0}")\ 431 self.infoLabel.setText(self.trUtf8("Error saving: {0}")
432 .format(self.__output.errorString())) 432 .format(self.__output.errorString()))
433 self.on_stopButton_clicked() 433 self.on_stopButton_clicked()
434 else: 434 else:
435 self.__startedSaving = True 435 self.__startedSaving = True
436 if self.__finishedDownloading: 436 if self.__finishedDownloading:
438 438
439 def __networkError(self): 439 def __networkError(self):
440 """ 440 """
441 Private slot to handle a network error. 441 Private slot to handle a network error.
442 """ 442 """
443 self.infoLabel.setText(self.trUtf8("Network Error: {0}")\ 443 self.infoLabel.setText(self.trUtf8("Network Error: {0}")
444 .format(self.__reply.errorString())) 444 .format(self.__reply.errorString()))
445 self.tryAgainButton.setEnabled(True) 445 self.tryAgainButton.setEnabled(True)
446 self.tryAgainButton.setVisible(True) 446 self.tryAgainButton.setVisible(True)
447 self.downloadFinished.emit() 447 self.downloadFinished.emit()
448 448
509 return -1.0 509 return -1.0
510 510
511 if self.bytesTotal() == -1: 511 if self.bytesTotal() == -1:
512 return -1.0 512 return -1.0
513 513
514 timeRemaining = (self.bytesTotal() - 514 timeRemaining = (self.bytesTotal() -
515 self.bytesReceived()) / self.currentSpeed() 515 self.bytesReceived()) / self.currentSpeed()
516 516
517 # ETA should never be 0 517 # ETA should never be 0
518 if timeRemaining == 0: 518 if timeRemaining == 0:
519 timeRemaining = 1 519 timeRemaining = 1
552 remaining = timeString(timeRemaining) 552 remaining = timeString(timeRemaining)
553 553
554 info = self.trUtf8("{0} of {1} ({2}/sec)\n{3}")\ 554 info = self.trUtf8("{0} of {1} ({2}/sec)\n{3}")\
555 .format( 555 .format(
556 dataString(self.__bytesReceived), 556 dataString(self.__bytesReceived),
557 bytesTotal == -1 and self.trUtf8("?") \ 557 bytesTotal == -1 and self.trUtf8("?")
558 or dataString(bytesTotal), 558 or dataString(bytesTotal),
559 dataString(int(speed)), 559 dataString(int(speed)),
560 remaining) 560 remaining)
561 else: 561 else:
562 if self.__bytesReceived == bytesTotal or bytesTotal == -1: 562 if self.__bytesReceived == bytesTotal or bytesTotal == -1:

eric ide

mercurial