use utils.safe_start_looping_call and utils.safe_stop_looping_call
This commit is contained in:
parent
8398d57024
commit
a1292254bb
1 changed files with 6 additions and 15 deletions
|
@ -6,6 +6,7 @@ from twisted.internet.task import LoopingCall
|
||||||
from lbryschema.fee import Fee
|
from lbryschema.fee import Fee
|
||||||
|
|
||||||
from lbrynet.core.Error import InsufficientFundsError, KeyFeeAboveMaxAllowed, DownloadTimeoutError
|
from lbrynet.core.Error import InsufficientFundsError, KeyFeeAboveMaxAllowed, DownloadTimeoutError
|
||||||
|
from lbrynet.core.utils import safe_start_looping_call, safe_stop_looping_call
|
||||||
from lbrynet.core.StreamDescriptor import download_sd_blob
|
from lbrynet.core.StreamDescriptor import download_sd_blob
|
||||||
from lbrynet.file_manager.EncryptedFileDownloader import ManagedEncryptedFileDownloaderFactory
|
from lbrynet.file_manager.EncryptedFileDownloader import ManagedEncryptedFileDownloaderFactory
|
||||||
from lbrynet.file_manager.EncryptedFileDownloader import ManagedEncryptedFileDownloader
|
from lbrynet.file_manager.EncryptedFileDownloader import ManagedEncryptedFileDownloader
|
||||||
|
@ -28,16 +29,6 @@ STREAM_STAGES = [
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def safe_start(looping_call):
|
|
||||||
if not looping_call.running:
|
|
||||||
looping_call.start(1)
|
|
||||||
|
|
||||||
|
|
||||||
def safe_stop(looping_call):
|
|
||||||
if looping_call.running:
|
|
||||||
looping_call.stop()
|
|
||||||
|
|
||||||
|
|
||||||
class GetStream(object):
|
class GetStream(object):
|
||||||
def __init__(self, sd_identifier, session, exchange_rate_manager,
|
def __init__(self, sd_identifier, session, exchange_rate_manager,
|
||||||
max_key_fee, data_rate=None, timeout=None,
|
max_key_fee, data_rate=None, timeout=None,
|
||||||
|
@ -76,7 +67,7 @@ class GetStream(object):
|
||||||
if stop_condition and not self.data_downloading_deferred.called:
|
if stop_condition and not self.data_downloading_deferred.called:
|
||||||
self.data_downloading_deferred.callback(True)
|
self.data_downloading_deferred.callback(True)
|
||||||
if self.data_downloading_deferred.called:
|
if self.data_downloading_deferred.called:
|
||||||
safe_stop(self.checker)
|
safe_stop_looping_call(self.checker)
|
||||||
else:
|
else:
|
||||||
log.info("Downloading stream data (%i seconds)", self.timeout_counter)
|
log.info("Downloading stream data (%i seconds)", self.timeout_counter)
|
||||||
|
|
||||||
|
@ -89,7 +80,7 @@ class GetStream(object):
|
||||||
if self.timeout_counter >= self.timeout:
|
if self.timeout_counter >= self.timeout:
|
||||||
if not self.data_downloading_deferred.called:
|
if not self.data_downloading_deferred.called:
|
||||||
self.data_downloading_deferred.errback(DownloadTimeoutError(self.file_name))
|
self.data_downloading_deferred.errback(DownloadTimeoutError(self.file_name))
|
||||||
safe_stop(self.checker)
|
safe_stop_looping_call(self.checker)
|
||||||
else:
|
else:
|
||||||
d = self.downloader.status()
|
d = self.downloader.status()
|
||||||
d.addCallback(self._check_status)
|
d.addCallback(self._check_status)
|
||||||
|
@ -156,7 +147,7 @@ class GetStream(object):
|
||||||
self.set_status(DOWNLOAD_STOPPED_CODE, name)
|
self.set_status(DOWNLOAD_STOPPED_CODE, name)
|
||||||
log.info("Finished downloading lbry://%s (%s) --> %s", name, self.sd_hash[:6],
|
log.info("Finished downloading lbry://%s (%s) --> %s", name, self.sd_hash[:6],
|
||||||
self.download_path)
|
self.download_path)
|
||||||
safe_stop(self.checker)
|
safe_stop_looping_call(self.checker)
|
||||||
status = yield self.downloader.status()
|
status = yield self.downloader.status()
|
||||||
self._check_status(status)
|
self._check_status(status)
|
||||||
defer.returnValue(self.download_path)
|
defer.returnValue(self.download_path)
|
||||||
|
@ -211,13 +202,13 @@ class GetStream(object):
|
||||||
|
|
||||||
yield self._download(sd_blob, name, key_fee)
|
yield self._download(sd_blob, name, key_fee)
|
||||||
self.set_status(DOWNLOAD_RUNNING_CODE, name)
|
self.set_status(DOWNLOAD_RUNNING_CODE, name)
|
||||||
safe_start(self.checker)
|
safe_start_looping_call(self.checker, 1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
yield self.data_downloading_deferred
|
yield self.data_downloading_deferred
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
self.downloader.stop()
|
self.downloader.stop()
|
||||||
safe_stop(self.checker)
|
safe_stop_looping_call(self.checker)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
defer.returnValue((self.downloader, self.finished_deferred))
|
defer.returnValue((self.downloader, self.finished_deferred))
|
||||||
|
|
Loading…
Add table
Reference in a new issue