forked from LBRYCommunity/lbry-sdk
33 lines
962 B
Python
33 lines
962 B
Python
import sys
|
|
import os
|
|
import asyncio
|
|
from lbry.blob.blob_manager import BlobManager
|
|
from lbry.blob_exchange.server import BlobServer
|
|
from lbry.schema.address import decode_address
|
|
from lbry.extras.daemon.storage import SQLiteStorage
|
|
|
|
|
|
async def main(address: str):
|
|
try:
|
|
decode_address(address)
|
|
except:
|
|
print(f"'{address}' is not a valid lbrycrd address")
|
|
return 1
|
|
loop = asyncio.get_running_loop()
|
|
|
|
storage = SQLiteStorage(os.path.expanduser("~/.lbrynet/lbrynet.sqlite"))
|
|
await storage.open()
|
|
blob_manager = BlobManager(loop, os.path.expanduser("~/.lbrynet/blobfiles"), storage)
|
|
await blob_manager.setup()
|
|
|
|
server = await loop.create_server(
|
|
lambda: BlobServer(loop, blob_manager, address),
|
|
'0.0.0.0', 4444)
|
|
try:
|
|
async with server:
|
|
await server.serve_forever()
|
|
finally:
|
|
await storage.close()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main(sys.argv[1]))
|