Split _die in two methods
We need to do some stuff before AbstractDownloadItem._die runs.
This commit is contained in:
parent
6eef79e180
commit
a3a167e683
@ -327,6 +327,10 @@ class AbstractDownloadItem(QObject):
|
|||||||
remaining=remaining, perc=perc, down=down,
|
remaining=remaining, perc=perc, down=down,
|
||||||
total=total, errmsg=errmsg))
|
total=total, errmsg=errmsg))
|
||||||
|
|
||||||
|
def _do_die(self):
|
||||||
|
"""Do cleanup steps after a download has died."""
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
def _die(self, msg):
|
def _die(self, msg):
|
||||||
"""Abort the download and emit an error."""
|
"""Abort the download and emit an error."""
|
||||||
assert not self.successful
|
assert not self.successful
|
||||||
@ -350,6 +354,7 @@ class AbstractDownloadItem(QObject):
|
|||||||
if self._dead:
|
if self._dead:
|
||||||
return
|
return
|
||||||
self._dead = True
|
self._dead = True
|
||||||
|
self._do_die()
|
||||||
self.error_msg = msg
|
self.error_msg = msg
|
||||||
self.stats.finish()
|
self.stats.finish()
|
||||||
self.error.emit(msg)
|
self.error.emit(msg)
|
||||||
|
@ -118,9 +118,8 @@ class DownloadItem(downloads.AbstractDownloadItem):
|
|||||||
no_action=no_action, cancel_action=no_action,
|
no_action=no_action, cancel_action=no_action,
|
||||||
abort_on=[self.cancelled, self.error])
|
abort_on=[self.cancelled, self.error])
|
||||||
|
|
||||||
def _die(self, msg):
|
def _do_die(self):
|
||||||
"""Abort the download and emit an error."""
|
"""Abort the download and emit an error."""
|
||||||
super()._die(msg)
|
|
||||||
self._read_timer.stop()
|
self._read_timer.stop()
|
||||||
self._reply.downloadProgress.disconnect()
|
self._reply.downloadProgress.disconnect()
|
||||||
self._reply.finished.disconnect()
|
self._reply.finished.disconnect()
|
||||||
|
Loading…
Reference in New Issue
Block a user