mirror of
https://github.com/LBRYFoundation/lbry-sdk.git
synced 2025-10-01 15:50:32 +00:00
fixing wallet.get_balance() being used incorrectly
This commit is contained in:
parent
79e0a823e9
commit
8f918bab87
1 changed files with 22 additions and 19 deletions
|
@ -83,7 +83,7 @@ class GetStream(object):
|
||||||
|
|
||||||
def start(self, stream_info, name):
|
def start(self, stream_info, name):
|
||||||
def _cause_timeout(err):
|
def _cause_timeout(err):
|
||||||
log.info('Cancelling download')
|
log.info('Cancelling download: {}'.format(err.getErrorMessage()))
|
||||||
self.timeout_counter = self.timeout * 2
|
self.timeout_counter = self.timeout * 2
|
||||||
|
|
||||||
def _set_status(x, status):
|
def _set_status(x, status):
|
||||||
|
@ -104,32 +104,35 @@ class GetStream(object):
|
||||||
self.payment_rate_manager,
|
self.payment_rate_manager,
|
||||||
download_directory=self.download_directory,
|
download_directory=self.download_directory,
|
||||||
file_name=self.file_name)
|
file_name=self.file_name)
|
||||||
|
def setup_key_fee(wallet_balance):
|
||||||
|
if 'fee' in self.stream_info:
|
||||||
|
self.fee = FeeValidator(self.stream_info['fee'])
|
||||||
|
max_key_fee = self._convert_max_fee()
|
||||||
|
converted_fee = self.exchange_rate_manager.to_lbc(self.fee).amount
|
||||||
|
if converted_fee > wallet_balance:
|
||||||
|
log.warning("Insufficient funds to download lbry://{}, need {}, have {}".
|
||||||
|
format(self.resolved_name, converted_fee, wallet_balance))
|
||||||
|
return defer.fail(InsufficientFundsError())
|
||||||
|
if converted_fee > max_key_fee:
|
||||||
|
log.warning(
|
||||||
|
"Key fee %f above limit of %f didn't download lbry://%s",
|
||||||
|
converted_fee, max_key_fee, self.resolved_name)
|
||||||
|
return defer.fail(KeyFeeAboveMaxAllowed())
|
||||||
|
log.info(
|
||||||
|
"Key fee %f below limit of %f, downloading lbry://%s",
|
||||||
|
converted_fee, max_key_fee, self.resolved_name)
|
||||||
|
|
||||||
self.resolved_name = name
|
self.resolved_name = name
|
||||||
self.stream_info = deepcopy(stream_info)
|
self.stream_info = deepcopy(stream_info)
|
||||||
self.description = self.stream_info['description']
|
self.description = self.stream_info['description']
|
||||||
self.stream_hash = self.stream_info['sources']['lbry_sd_hash']
|
self.stream_hash = self.stream_info['sources']['lbry_sd_hash']
|
||||||
|
|
||||||
if 'fee' in self.stream_info:
|
|
||||||
self.fee = FeeValidator(self.stream_info['fee'])
|
|
||||||
max_key_fee = self._convert_max_fee()
|
|
||||||
converted_fee = self.exchange_rate_manager.to_lbc(self.fee).amount
|
|
||||||
if converted_fee > self.wallet.get_balance():
|
|
||||||
log.warning("Insufficient funds to download lbry://%s", self.resolved_name)
|
|
||||||
return defer.fail(InsufficientFundsError())
|
|
||||||
if converted_fee > max_key_fee:
|
|
||||||
log.warning("Key fee %f above limit of %f didn't download lbry://%s", converted_fee,
|
|
||||||
max_key_fee,
|
|
||||||
self.resolved_name)
|
|
||||||
return defer.fail(KeyFeeAboveMaxAllowed())
|
|
||||||
log.info("Key fee %f below limit of %f, downloading lbry://%s", converted_fee,
|
|
||||||
max_key_fee,
|
|
||||||
self.resolved_name)
|
|
||||||
|
|
||||||
self.checker.start(1)
|
self.checker.start(1)
|
||||||
|
self.d.addCallback(lambda _: self.wallet.get_balance())
|
||||||
|
self.d.addCallback(lambda wallet_balance: setup_key_fee(wallet_balance))
|
||||||
self.d.addCallback(lambda _: _set_status(None, DOWNLOAD_METADATA_CODE))
|
self.d.addCallback(lambda _: _set_status(None, DOWNLOAD_METADATA_CODE))
|
||||||
self.d.addCallback(lambda _: download_sd_blob(self.session, self.stream_hash, self.payment_rate_manager))
|
self.d.addCallback(
|
||||||
|
lambda _: download_sd_blob(self.session, self.stream_hash, self.payment_rate_manager))
|
||||||
self.d.addCallback(self.sd_identifier.get_metadata_for_sd_blob)
|
self.d.addCallback(self.sd_identifier.get_metadata_for_sd_blob)
|
||||||
self.d.addCallback(lambda r: _set_status(r, DOWNLOAD_RUNNING_CODE))
|
self.d.addCallback(lambda r: _set_status(r, DOWNLOAD_RUNNING_CODE))
|
||||||
self.d.addCallback(get_downloader_factory)
|
self.d.addCallback(get_downloader_factory)
|
||||||
|
|
Loading…
Add table
Reference in a new issue