add attributes to lbry file base classes
This commit is contained in:
parent
bc58add6de
commit
2af61460a7
4 changed files with 34 additions and 32 deletions
|
@ -37,8 +37,8 @@ class CryptStreamDownloader(object):
|
||||||
|
|
||||||
implements(IStreamDownloader)
|
implements(IStreamDownloader)
|
||||||
|
|
||||||
def __init__(self, peer_finder, rate_limiter, blob_manager,
|
def __init__(self, peer_finder, rate_limiter, blob_manager, payment_rate_manager, wallet,
|
||||||
payment_rate_manager, wallet):
|
key, stream_name):
|
||||||
"""Initialize a CryptStreamDownloader
|
"""Initialize a CryptStreamDownloader
|
||||||
|
|
||||||
@param peer_finder: An object which implements the IPeerFinder
|
@param peer_finder: An object which implements the IPeerFinder
|
||||||
|
@ -61,8 +61,8 @@ class CryptStreamDownloader(object):
|
||||||
self.blob_manager = blob_manager
|
self.blob_manager = blob_manager
|
||||||
self.payment_rate_manager = payment_rate_manager
|
self.payment_rate_manager = payment_rate_manager
|
||||||
self.wallet = wallet
|
self.wallet = wallet
|
||||||
self.key = None
|
self.key = key
|
||||||
self.stream_name = None
|
self.stream_name = stream_name
|
||||||
self.completed = False
|
self.completed = False
|
||||||
self.stopped = True
|
self.stopped = True
|
||||||
self.stopping = False
|
self.stopping = False
|
||||||
|
|
|
@ -34,21 +34,18 @@ class ManagedEncryptedFileDownloader(EncryptedFileSaver):
|
||||||
STATUS_RUNNING = "running"
|
STATUS_RUNNING = "running"
|
||||||
STATUS_STOPPED = "stopped"
|
STATUS_STOPPED = "stopped"
|
||||||
STATUS_FINISHED = "finished"
|
STATUS_FINISHED = "finished"
|
||||||
"""
|
|
||||||
These are started by EncryptedFileManager, aka, file_manager
|
|
||||||
"""
|
|
||||||
def __init__(self, rowid, stream_hash, peer_finder, rate_limiter,
|
|
||||||
blob_manager, stream_info_manager, lbry_file_manager,
|
|
||||||
payment_rate_manager, wallet, download_directory,
|
|
||||||
file_name=None):
|
|
||||||
|
|
||||||
|
def __init__(self, rowid, stream_hash, peer_finder, rate_limiter, blob_manager,
|
||||||
|
stream_info_manager, lbry_file_manager, payment_rate_manager, wallet,
|
||||||
|
download_directory, file_name=None, sd_hash=None, key=None, stream_name=None,
|
||||||
|
suggested_file_name=None):
|
||||||
EncryptedFileSaver.__init__(self, stream_hash, peer_finder,
|
EncryptedFileSaver.__init__(self, stream_hash, peer_finder,
|
||||||
rate_limiter, blob_manager,
|
rate_limiter, blob_manager,
|
||||||
stream_info_manager,
|
stream_info_manager,
|
||||||
payment_rate_manager, wallet,
|
payment_rate_manager, wallet,
|
||||||
download_directory,
|
download_directory,
|
||||||
file_name)
|
file_name, key, stream_name, suggested_file_name)
|
||||||
|
self.sd_hash = sd_hash
|
||||||
self.rowid = rowid
|
self.rowid = rowid
|
||||||
self.lbry_file_manager = lbry_file_manager
|
self.lbry_file_manager = lbry_file_manager
|
||||||
self._saving_status = False
|
self._saving_status = False
|
||||||
|
|
|
@ -22,12 +22,13 @@ class EncryptedFileDownloader(CryptStreamDownloader):
|
||||||
"""Classes which inherit from this class download LBRY files"""
|
"""Classes which inherit from this class download LBRY files"""
|
||||||
|
|
||||||
def __init__(self, stream_hash, peer_finder, rate_limiter, blob_manager,
|
def __init__(self, stream_hash, peer_finder, rate_limiter, blob_manager,
|
||||||
stream_info_manager, payment_rate_manager, wallet):
|
stream_info_manager, payment_rate_manager, wallet, key, stream_name,
|
||||||
|
suggested_file_name=None):
|
||||||
CryptStreamDownloader.__init__(self, peer_finder, rate_limiter, blob_manager,
|
CryptStreamDownloader.__init__(self, peer_finder, rate_limiter, blob_manager,
|
||||||
payment_rate_manager, wallet)
|
payment_rate_manager, wallet, key, stream_name)
|
||||||
self.stream_hash = stream_hash
|
self.stream_hash = stream_hash
|
||||||
self.stream_info_manager = stream_info_manager
|
self.stream_info_manager = stream_info_manager
|
||||||
self.suggested_file_name = None
|
self.suggested_file_name = suggested_file_name
|
||||||
self._calculated_total_bytes = None
|
self._calculated_total_bytes = None
|
||||||
self.sd_hash = None
|
self.sd_hash = None
|
||||||
|
|
||||||
|
@ -171,11 +172,11 @@ class EncryptedFileDownloaderFactory(object):
|
||||||
|
|
||||||
class EncryptedFileSaver(EncryptedFileDownloader):
|
class EncryptedFileSaver(EncryptedFileDownloader):
|
||||||
def __init__(self, stream_hash, peer_finder, rate_limiter, blob_manager, stream_info_manager,
|
def __init__(self, stream_hash, peer_finder, rate_limiter, blob_manager, stream_info_manager,
|
||||||
payment_rate_manager, wallet, download_directory, file_name=None):
|
payment_rate_manager, wallet, download_directory, key, stream_name,
|
||||||
EncryptedFileDownloader.__init__(self, stream_hash,
|
suggested_file_name, file_name):
|
||||||
peer_finder, rate_limiter,
|
EncryptedFileDownloader.__init__(self, stream_hash, peer_finder, rate_limiter,
|
||||||
blob_manager, stream_info_manager,
|
blob_manager, stream_info_manager, payment_rate_manager,
|
||||||
payment_rate_manager, wallet)
|
wallet, key, stream_name, suggested_file_name)
|
||||||
self.download_directory = download_directory
|
self.download_directory = download_directory
|
||||||
self.file_name = file_name
|
self.file_name = file_name
|
||||||
self.file_written_to = None
|
self.file_written_to = None
|
||||||
|
@ -273,11 +274,15 @@ class EncryptedFileSaverFactory(EncryptedFileDownloaderFactory):
|
||||||
self.download_directory = download_directory
|
self.download_directory = download_directory
|
||||||
|
|
||||||
def _make_downloader(self, stream_hash, payment_rate_manager, stream_info):
|
def _make_downloader(self, stream_hash, payment_rate_manager, stream_info):
|
||||||
return EncryptedFileSaver(stream_hash, self.peer_finder,
|
stream_name = binascii.unhexlify(stream_info.raw_info['stream_name'])
|
||||||
self.rate_limiter, self.blob_manager,
|
key = stream_info.raw_info['key']
|
||||||
self.stream_info_manager,
|
suggested_file_name = binascii.unhexlify(stream_info.raw_info['suggested_file_name'])
|
||||||
payment_rate_manager, self.wallet,
|
file_name = os.path.join(self.download_directory, os.path.basename(suggested_file_name))
|
||||||
self.download_directory)
|
|
||||||
|
return EncryptedFileSaver(stream_hash, self.peer_finder, self.rate_limiter,
|
||||||
|
self.blob_manager, self.stream_info_manager,
|
||||||
|
payment_rate_manager, self.wallet, self.download_directory, key,
|
||||||
|
stream_name, suggested_file_name, file_name)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_description():
|
def get_description():
|
||||||
|
|
|
@ -21,13 +21,13 @@ class TestEncryptedFileSaver(unittest.TestCase):
|
||||||
payment_rate_manager = None
|
payment_rate_manager = None
|
||||||
wallet = None
|
wallet = None
|
||||||
download_directory = '.'
|
download_directory = '.'
|
||||||
upload_allowed = False
|
key = ''
|
||||||
saver = EncryptedFileSaver(
|
|
||||||
stream_hash, peer_finder, rate_limiter, blob_manager, stream_info_manager,
|
saver = EncryptedFileSaver(stream_hash, peer_finder, rate_limiter, blob_manager,
|
||||||
payment_rate_manager, wallet, download_directory, file_name)
|
stream_info_manager, payment_rate_manager, wallet,
|
||||||
|
download_directory, key, file_name, file_name,
|
||||||
|
file_name)
|
||||||
|
|
||||||
yield saver._setup_output()
|
yield saver._setup_output()
|
||||||
self.assertTrue(os.path.isfile(file_name))
|
self.assertTrue(os.path.isfile(file_name))
|
||||||
saver._close_output()
|
saver._close_output()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue