def download_sd_blob(session, blob_hash, payment_rate_manager, timeout=None): """ Downloads a single blob from the network @param session: @param blob_hash: @param payment_rate_manager: @return: An object of type HashBlob """ downloader = StandaloneBlobDownloader(blob_hash, session.blob_manager, session.peer_finder, session.rate_limiter, payment_rate_manager, session.wallet, timeout) sd_blob = yield downloader.download() sd_reader = BlobStreamDescriptorReader(sd_blob) sd_info = yield sd_reader.get_info() try: validate_descriptor(sd_info) except InvalidStreamDescriptorError as err: yield session.blob_manager.delete_blobs([blob_hash]) raise err raw_sd = yield sd_reader._get_raw_data() yield session.blob_manager.storage.add_known_blob(blob_hash, len(raw_sd)) yield save_sd_info(session.blob_manager, sd_blob.blob_hash, sd_info) defer.returnValue(sd_blob)
def download_blob(blob_hash): prm = self.session.payment_rate_manager downloader = StandaloneBlobDownloader(blob_hash, self.session.blob_manager, peer_finder, rate_limiter, prm, wallet) d = downloader.download() return d
def download_sd_file_from_hash(self, sd_hash): downloader = StandaloneBlobDownloader(sd_hash, self.session.blob_manager, self.session.peer_finder, self.session.rate_limiter, self.session.wallet) d = downloader.download() return d
def download_sd_blob(session, blob_hash, payment_rate_manager): """ Downloads a single blob from the network @param session: @param blob_hash: @param payment_rate_manager: @return: An object of type HashBlob """ downloader = StandaloneBlobDownloader(blob_hash, session.blob_manager, session.peer_finder, session.rate_limiter, payment_rate_manager, session.wallet) return downloader.download()
def download_blob(blob_hash): prm = PaymentRateManager(self.session.base_payment_rate_manager) downloader = StandaloneBlobDownloader(blob_hash, self.session.blob_manager, peer_finder, rate_limiter, prm, wallet) d = downloader.download() return d