Пример #1
0
 async def start(self):
     blob_manager = self.component_manager.get_component(BLOB_COMPONENT)
     storage = self.component_manager.get_component(DATABASE_COMPONENT)
     wallet = self.component_manager.get_component(WALLET_COMPONENT)
     node = self.component_manager.get_component(DHT_COMPONENT) \
         if self.component_manager.has_component(DHT_COMPONENT) else None
     try:
         torrent = self.component_manager.get_component(
             LIBTORRENT_COMPONENT) if TorrentSession else None
     except NameError:
         torrent = None
     log.info('Starting the file manager')
     loop = asyncio.get_event_loop()
     self.file_manager = FileManager(
         loop, self.conf, wallet, storage,
         self.component_manager.analytics_manager)
     self.file_manager.source_managers['stream'] = StreamManager(
         loop,
         self.conf,
         blob_manager,
         wallet,
         storage,
         node,
     )
     if TorrentSession and LIBTORRENT_COMPONENT not in self.conf.components_to_skip:
         self.file_manager.source_managers['torrent'] = TorrentManager(
             loop, self.conf, torrent, storage,
             self.component_manager.analytics_manager)
     await self.file_manager.start()
     log.info('Done setting up file manager')
Пример #2
0
    async def asyncSetUp(self):
        self.loop = asyncio.get_event_loop()
        self.key = b'deadbeef' * 4
        self.cleartext = os.urandom(20000000)

        tmp_dir = tempfile.mkdtemp()
        self.addCleanup(lambda: shutil.rmtree(tmp_dir))
        self.conf = Config()
        self.storage = SQLiteStorage(self.conf, os.path.join(tmp_dir, "lbrynet.sqlite"))
        await self.storage.open()
        self.blob_manager = BlobManager(self.loop, tmp_dir, self.storage, self.conf)
        self.stream_manager = StreamManager(self.loop, Config(), self.blob_manager, None, self.storage, None)

        server_tmp_dir = tempfile.mkdtemp()
        self.addCleanup(lambda: shutil.rmtree(server_tmp_dir))
        self.server_conf = Config()
        self.server_storage = SQLiteStorage(self.server_conf, os.path.join(server_tmp_dir, "lbrynet.sqlite"))
        await self.server_storage.open()
        self.server_blob_manager = BlobManager(self.loop, server_tmp_dir, self.server_storage, self.server_conf)

        download_dir = tempfile.mkdtemp()
        self.addCleanup(lambda: shutil.rmtree(download_dir))

        # create the stream
        file_path = os.path.join(tmp_dir, "test_file")
        with open(file_path, 'wb') as f:
            f.write(self.cleartext)

        self.stream = await self.stream_manager.create_stream(file_path)
Пример #3
0
 async def setup_stream_manager(self,
                                balance=10.0,
                                fee=None,
                                old_sort=False):
     file_path = os.path.join(self.server_dir, "test_file")
     with open(file_path, 'wb') as f:
         f.write(os.urandom(20000000))
     descriptor = await StreamDescriptor.create_stream(
         self.loop,
         self.server_blob_manager.blob_dir,
         file_path,
         old_sort=old_sort)
     self.sd_hash = descriptor.sd_hash
     self.mock_wallet, self.uri = await get_mock_wallet(
         self.sd_hash, self.client_storage, self.client_wallet_dir, balance,
         fee)
     analytics_manager = AnalyticsManager(
         self.client_config,
         binascii.hexlify(generate_id()).decode(),
         binascii.hexlify(generate_id()).decode())
     self.stream_manager = StreamManager(
         self.loop, self.client_config, self.client_blob_manager,
         self.mock_wallet, self.client_storage,
         get_mock_node(self.server_from_client), analytics_manager)
     self.file_manager = FileManager(self.loop, self.client_config,
                                     self.mock_wallet, self.client_storage,
                                     analytics_manager)
     self.file_manager.source_managers['stream'] = self.stream_manager
     self.exchange_rate_manager = get_fake_exchange_rate_manager()
Пример #4
0
 async def start(self):
     blob_manager = self.component_manager.get_component(BLOB_COMPONENT)
     storage = self.component_manager.get_component(DATABASE_COMPONENT)
     wallet = self.component_manager.get_component(WALLET_COMPONENT)
     node = self.component_manager.get_component(DHT_COMPONENT)\
         if self.component_manager.has_component(DHT_COMPONENT) else None
     log.info('Starting the file manager')
     loop = asyncio.get_event_loop()
     self.stream_manager = StreamManager(
         loop, self.conf, blob_manager, wallet, storage, node,
         self.component_manager.analytics_manager)
     await self.stream_manager.start()
     log.info('Done setting up file manager')