initial work on s3, config is shared between client and server
This commit is contained in:
parent
7d9dfe2e62
commit
2a72e842e3
2 changed files with 53 additions and 0 deletions
20
pyproject.toml
Normal file
20
pyproject.toml
Normal file
|
@ -0,0 +1,20 @@
|
|||
[tool.poetry]
|
||||
name = "syng"
|
||||
version = "2.0.0"
|
||||
description = ""
|
||||
authors = ["Christoph Stahl <christoph.stahl@tu-dortmund.de>"]
|
||||
license = "GPL3"
|
||||
readme = "README.md"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.7"
|
||||
pytube = "^12.1.0"
|
||||
aiohttp = "^3.8.3"
|
||||
python-mpv = "^1.0.1"
|
||||
python-socketio = "^5.7.2"
|
||||
minio = "^7.1.12"
|
||||
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
33
syng/sources/s3.py
Normal file
33
syng/sources/s3.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
from minio import Minio
|
||||
from time import perf_counter
|
||||
|
||||
from .source import Source, async_in_thread, available_sources
|
||||
from ..result import Result
|
||||
|
||||
|
||||
class S3Source(Source):
|
||||
def __init__(self, config):
|
||||
super().__init__()
|
||||
self.minio = Minio(
|
||||
config["s3_endpoint"],
|
||||
access_key=config["access_key"],
|
||||
secret_key=config["secret_key"],
|
||||
)
|
||||
self.bucket = config["bucket"]
|
||||
|
||||
def init_server(self):
|
||||
print("Start indexing")
|
||||
start = perf_counter()
|
||||
self.index = list(self.minio.list_objects("bucket"))
|
||||
stop = perf_counter()
|
||||
print(f"Took {stop - start:0.4f} seconds")
|
||||
|
||||
@async_in_thread
|
||||
def search(self, query: str) -> list[Result]:
|
||||
pass
|
||||
|
||||
async def build_index():
|
||||
pass
|
||||
|
||||
|
||||
available_sources["s3"] = S3Source
|
Loading…
Add table
Reference in a new issue