lbry-sdk/lbrynet/blob/client/EncryptedFileOptions.py

48 lines
2 KiB
Python
Raw Normal View History

from lbrynet.p2p.StreamDescriptor import EncryptedFileStreamType
from lbrynet.p2p.StreamDescriptor import EncryptedFileStreamDescriptorValidator
from lbrynet.p2p.DownloadOption import DownloadOption, DownloadOptionChoice
def add_lbry_file_to_sd_identifier(sd_identifier):
2018-02-12 20:16:43 +01:00
sd_identifier.add_stream_type(EncryptedFileStreamType, EncryptedFileStreamDescriptorValidator,
EncryptedFileOptions())
class EncryptedFileOptions:
def __init__(self):
pass
def get_downloader_options(self, sd_validator, payment_rate_manager):
prm = payment_rate_manager
def get_default_data_rate_description():
2016-10-13 19:35:55 +02:00
if prm.base.min_blob_data_payment_rate is None:
return "Application default (%s LBC/MB)" % str(prm.base.min_blob_data_payment_rate)
else:
2016-10-13 19:35:55 +02:00
return "%f LBC/MB" % prm.base.min_blob_data_payment_rate
rate_choices = []
2016-11-30 21:20:45 +01:00
rate_choices.append(DownloadOptionChoice(
prm.base.min_blob_data_payment_rate,
"No change - %s" % get_default_data_rate_description(),
"No change - %s" % get_default_data_rate_description()))
2016-10-13 19:35:55 +02:00
if prm.base.min_blob_data_payment_rate is not None:
2016-11-30 21:20:45 +01:00
rate_choices.append(DownloadOptionChoice(
None,
"Application default (%s LBC/MB)" % str(prm.base.min_blob_data_payment_rate),
"Application default (%s LBC/MB)" % str(prm.base.min_blob_data_payment_rate)))
rate_choices.append(DownloadOptionChoice(float,
"Enter rate in LBC/MB",
"Enter rate in LBC/MB"))
options = [
DownloadOption(
rate_choices,
"Rate which will be paid for data",
"data payment rate",
2016-10-13 19:35:55 +02:00
prm.base.min_blob_data_payment_rate,
get_default_data_rate_description()
),
]
2016-11-30 21:20:45 +01:00
return options